• Typical solutions to commonly occurring software design problems.
  • Types of design patterns,
    1. Creational Patterns
    2. Structural Patterns
    3. Behavioural Patterns

Creational Patterns


Structural Patterns

  • Explains how to assemble objects and classes into bigger structures
  • Types (Mnemonic: ABCDFFP)
    • Adapter
    • Bridge
    • Composite
    • Decorator
    • Facade
    • Flyweight
    • Proxy

Behavioural Patterns

  • Deals with communication and allocation of responsibilities between objects
  • Types (Mnemonic: CMICMOSSTV),
    • Chain of responsibility
    • Mediator
    • Iterator
    • Command
    • Memento
    • Observer
    • State
    • Strategy
    • Template method
    • Visitor

Refs

  1. https://refactoring.guru/design-patterns/