These patterns deal with the process of objects created in such a way that they can be decoupled from their implementing system. This provides more flexibility in deciding which objects need to be created for a given use case/ scenario. There are as follows:
Creates an instance of several derived classes
Design pattern defines an interface for creating an object, but let subclasses decide which class to instantiate. This pattern lets a class defer instantiation to subclasses.
The factory design pattern is used to replace the class constructors, abstracting the process of object generation so that the type of the object instantiated can be determined at run-time
Subclasses figure out what objects should be created.
Parent class allows later instantiation to subclasses means the creation of an object is done when it is required.
The process of objects created is required to centralize within the application.
A class (creator) will not know what classes it will be required to create.
(Tr) Bu tasarım deseni, nesne yaratımını kalıtım yoluyla alt sınıflara bırakarak, client tarafında nesne yaratımını engeller.
Creates an instance of several families of classes
The design pattern provides an interface for creating families of related or dependent objects without specifying their concrete classes
Create a set of related objects or dependent objects which must be used together.
System should be configured to work with multiple families of products.
The creation of objects should be independent of the utilizing system.
Concrete classes should be decoupled from clients.
(Tr) Bu tasarım deseni, ortak bir teması olan bir grup bireysel fabrikayı somut sınıflarını belirtmeden encapsulate etmek için bir yol sağlar.
Separates object construction from its representation
The pattern separates the construction of a complex object from its representation so that the same construction process can create different representations.
Need to create an object in several steps (a step by step approach).
The creation of objects should be independent of the way the object's parts are assembled.
Runtime control over the creation process is required.
(Tr) Bu tasarım deseni, karmaşık bir nesnenin yapımını temsilinden ayırır, böylece programın ihtiyaçlarına bağlı olarak birkaç farklı temsil oluşturulabilir.
A fully initialized instance to be copied or cloned
The creation of each object is costly or complex.
A limited number of state combinations exist in an object.
(Tr) Bu tasarım deseni, genellikle sınıfın bir örneğine (prototip) sahip olduğumuzda kullanılır ve sadece prototipi kopyalayarak yeni nesneler oluşturmak isteriz.
A class of which only a single instance can exist
Exactly one instance of a class is required.
Controlled access to a single object is necessary.
When we required no thread-safe singleton design pattern
(Tr) Bu tasarım deseni, bir sınıf tipinden sadece tek bir nesnenin yaratılmasına izin veren bir yazılım tasarım desenidir.