Creational Patterns
Kind: category
Record: architecture-category:creational-patterns
Canonical: Ontology
The Creational Patterns category holds 6 architecture principles.
Listed in Principle categories, after Behavioral Patterns and before Structural Patterns.
Principle
- Factory Pattern
- Factory Method Pattern
- Abstract Factory Pattern
- Builder Pattern
- Prototype Pattern
- Singleton Pattern
Layer
Linked from
Creational Patterns
Every principle in this category is listed as a record. Each record carries its kind, its severity, the scopes it applies at and the layer it lives in, then the edge relations that join it to other records, the records that point back at it, the contracts that answer to it and the tensions it takes part in. The descriptors say how it is violated, detected, measured, repaired and enforced. Where the record carries one, an exemplar shows the shape before and after the principle is applied.
Relations diagram
flowchart LR
n_factory_pattern["Factory Pattern"]
n_factory_method_pattern["Factory Method Pattern"]
n_abstract_factory_pattern["Abstract Factory Pattern"]
n_builder_pattern["Builder Pattern"]
n_prototype_pattern["Prototype Pattern"]
n_singleton_pattern["Singleton Pattern"]Factory Pattern
- Kind: pattern
- Category: Creational Patterns
- Severity: recommended
- Scope: object_creation, module
- Layer: Design Patterns Core
Factory Method Pattern
- Kind: pattern
- Category: Creational Patterns
- Severity: contextual
- Scope: class hierarchy, framework
- Aliases: Virtual Constructor
- Layer: Design Patterns Core
Abstract Factory Pattern
- Kind: pattern
- Category: Creational Patterns
- Severity: contextual
- Scope: product family, component
- Layer: Design Patterns Core
Builder Pattern
- Kind: pattern
- Category: Creational Patterns
- Severity: recommended
- Scope: object construction, API
- Layer: Design Patterns Core
Prototype Pattern
- Kind: pattern
- Category: Creational Patterns
- Severity: contextual
- Scope: object_creation, runtime
- Layer: Design Patterns Core
Singleton Pattern
- Kind: pattern
- Category: Creational Patterns
- Severity: discouraged
- Scope: object_creation, lifetime, composition root
- Aliases: Singleton
- Layer: Design Patterns Core