1. Object-Oriented Design Patternshistorical

    Reusable design structures and the trade-offs behind creational, structural, and behavioral patterns.

  2. Singleton Patternhistorical

    A single shared instance, initialization safety, lifecycle, testability, and global-state trade-offs.

  3. Proxy Patternhistorical

    Interposing an object to control or augment access to another object while preserving its contract.

  4. Template Method Patternhistorical

    Fixing an algorithm skeleton while allowing selected steps to vary in subclasses or callbacks.

  5. Factory Method Patternhistorical

    Separating object creation decisions from clients that consume the created abstraction.

  6. State Patternhistorical

    Representing state-dependent behavior with explicit state objects instead of sprawling conditionals.

  7. Builder Patternhistorical

    Constructing complex objects step by step with readable optional configuration and validation.

  8. Strategy Patternhistorical

    Encapsulating interchangeable algorithms or policies behind a common contract.

  9. Observer Patternhistorical

    Notifying registered observers about subject changes and managing coupling, ordering, and lifecycle.

  10. Decorator Patternhistorical

    Adding composable behavior around an object without changing the wrapped implementation.

  11. Chain of Responsibilityhistorical

    Passing a request through an ordered pipeline of handlers that may process, enrich, reject, or forward it.

  12. Adapter Patternhistorical

    Translating one interface/protocol/data model into the contract expected by a client.