Provides a way to create an object and separates the object creation process from other parts of a program.
| Name | Definition |
|---|---|
| Factory Pattern | Create an instance of several derived classes. |
| Factory Method Pattern | Create an instance of several derived classes. |
| Abstract Factory Pattern | Creates an instance of several families of classes. |
| Builder Pattern | Separate the construction of a object from its representation. |
| Prototype Pattern | A fully initialized instance to be copied or cloned. |
| Singleton Pattern | A class must have single instance and provide a global point of access to the class. |