Creational Design Patterns
Creational design patterns provide various object creation mechanisms, which increase flexibility and reuse of existing code.
Factory Method
Provides an interface for creating objects in a superclass, but allows subclasses to alter the type of objects that will be created.
Abstract FactoryLets you produce families of related objects without specifying their concrete classes.
BuilderLets you construct complex objects step by step. The pattern allows you to produce different types and representations of an object using the same construction code.
PrototypeLets you copy existing objects without making your code dependent on their classes.
SingletonLets you ensure that a class has only one instance, while providing a global access point to this instance.