Creational Pattern

Category

Creational patterns describe approaches to instantiate objects. They control how new objects are created to avoid design problems or unnecessary complexity.

Patterns

Abstract Factory

Creational Pattern

An abstract factory offers the interface for creating a set of related or dependant objects without explicitly specifying their classes. The type of the created objects are determined at run-time.

Builder

Creational Pattern

Instead of using numerous constructors, the builder pattern uses a builder object, that instantiates and initializes objects using a multiple of steps.

Dependency Injection

Creational Pattern

Instead of creating dependent objects, the objects are passed to the client either by constructor injection, setter injection or interface injection. The client does not need to know the implementation details of the used objects, only its interfaces.

Factory Method

Creational Pattern

An object with methods to create objects without specifying the exact class that will be created. Depending on the concrete factory implementation objects with different classes are created.

Product Trader

Creational Pattern

Lets clients create objects by naming an abstract superclass and by providing a specification. A Product Trader decouples the client from the product and thereby eases the adaptation, configuration and evolution of class hierarchies, frameworks and applications.

Prototype

Creational Pattern

The prototype pattern is used to instantiate a new object by copying all of the properties of an existing object, creating an independent clone. This practise is particularly useful when the construction of a new object is inefficient.

Singleton

Creational Pattern

A singleton is an object whose class can only have one instance. A singleton class ensures that only one instance of the class can be created. The pattern is often called an anti-pattern because it may lead to high coupling of components.