This design patterns is all about class instantiation. This pattern can be further divided into class-creation patterns and object-creational patterns. While class-creation patterns use inheritance effectively in the instantiation process, object-creation patterns use delegation effectively to get the job done.
- Abstract Factory
Creates an instance of several families of classes - Builder
Separates object construction from its representation
- Factory Method
Creates an instance of several derived classes - Object Pool
Avoid expensive acquisition and release of resources by recycling objects that are no longer in use - Prototype
A fully initialized instance to be copied or cloned - Singleton
A class of which only a single instance can exist
In software engineering, creational design patterns are design patterns that deal with object creation mechanisms, trying to create objects in a manner suitable to the situation. The basic form of object creation could result in design problems or added complexity to the design. Creational design patterns solve this problem by somehow controlling this object creation.