These patterns support one of the most common tasks in object-oriented programming—the creation of objects in a system. Most OO systems of any complexity require many objects to be instantiated over time, and these patterns support the creation process by helping to provide the following capabilities:
Generic instantiation –. This allows objects to be created in a system without having to identify a specific class type in code.
Simplicity –. Some of the patterns make object creation easier, so callers will not have to write large, complex code to instantiate an object.
Creation constraints –. Some patterns enforce ...