Gang of four design patterns
Table of Contents
Pattern Catalog
Creational design patterns
Creational Design Patterns are concerned with the way in which objects are created. They reduce complexities and instability by creating objects in a controlled manner.
Family | Name | Definition | link | Common usage | When to use |
---|---|---|---|---|---|
Creational | Factory Method pattern | Factory patterns | |||
Creational | Abstract Factory pattern | Factory patterns | |||
Creational | Builder pattern | Builder pattern | |||
Creational | Prototype pattern | Prototype pattern | |||
Creational | Singleton pattern | Singleton pattern |
Structural design patterns
The common objective of the structural patterns is to identify how to realize complex relationships between classes and objects in a simple and flexible way
.
Family | Name | Definition | link | Common usage | When to use |
---|---|---|---|---|---|
Structural | Adapter pattern | Adapter pattern | |||
Structural | Bridge pattern | Bridge pattern | |||
Structural | Composite pattern | Composite pattern | |||
Structural | Decorator pattern | Decorator pattern | |||
Structural | Facade pattern | Facade pattern | |||
Structural | Flyweight pattern | Flyweight pattern | |||
Structural | Proxy pattern | Proxy pattern |
Behavioral design patterns
The Behavioral pattern family addresses the responsibilities of objects in an application and how they communicate between them at runtime
.
Well-designed enterprise applications are composed of lightweight objects with specific responsibilities divided between them in accordance to the Single Responsibility principle, one of the SOLID design principles
Family | Name | Definition | link | Common usage | Notes |
---|---|---|---|---|---|
Behavioral | Chain of responsibility pattern | Chain of responsibility pattern | |||
Behavioral | Command pattern | Command pattern | |||
Behavioral | Iterator pattern | Iterator pattern | |||
Behavioral | Mediator pattern | Mediator pattern | |||
Behavioral | Memento pattern | Momento pattern | |||
Behavioral | Observer pattern | Observer pattern | RE-LEARN | ||
Behavioral | State pattern | State pattern | |||
Behavioral | Strategy pattern | Strategy pattern | |||
Behavioral | Template Method pattern | Template method pattern | |||
Behavioral | Visitor pattern | Visitor pattern |