Design Pattern

A design pattern can be one of four general types:

  1. Creational design patterns
  2. Structural design patterns
  3. Behavioral design patterns
  4. 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
  1. Batching
  2. Behavioural Patterns
  3. Circuit Breaker
  4. Complex Event Processing
  5. DTO
  6. Data Source
  7. Decoupling
  8. Dependency Injection
  9. Event Sourcing
  10. Gateways
  11. Handlers
  12. Hooks
  13. Ingress
  14. IoC (Inversion of Control)
  15. Long Polling
  16. Map Reduce
  17. Messaging Pattern
  18. Plugin
  19. SSR (Server Side Rendering)
  20. Shim
  21. Sink
  22. State Machine
  23. Streaming