Design Pattern
A design pattern can be one of four general types:
- Creational design patterns
- Structural design patterns
- Behavioral design patterns
- Architectural design patterns
Creational
These patterns are used to provide a mechanism for creating objects in a specific situation without revealing the creation method. In absence of the pattern, the approach for creating an object might lead to complexities in the design of a project. Using creational design patterns allow flexibility in deciding which objects need to be created for a specific use case by providing control over the creation process.
Structural
These patterns concern class/object composition and relationships between objects. They let you add new functionalities to objects so that restructuring some parts of the system does not affect the rest. Hence, when some parts of structure change, the entire system does not need to change.
Behavioural
These patterns are concerned with communication between dissimilar objects in a system. They streamline the communication and make sure the information is synchronized between such objects.
Architectural
These patterns are used for solving architectural problems within a given context in software architecture.
Children
- Batching
- Behavioural Patterns
- Circuit Breaker
- Complex Event Processing
- DTO
- Data Source
- Decoupling
- Dependency Injection
- Event Sourcing
- Gateways
- Handlers
- Hooks
- Ingress
- IoC (Inversion of Control)
- Long Polling
- Map Reduce
- Messaging Pattern
- Plugin
- SSR (Server Side Rendering)
- Shim
- Sink
- State Machine
- Streaming