Abstract Factory Pattern
TL;DR
TL;DR
TL;DR
Patterns for communication between objects and assignment of responsibilities
TL;DR
TL;DR
Pass requests along a chain of handlers, each deciding to process or forward the request
Encapsulate a request as an object allowing you to parameterize clients with commands
TL;DR
Assign system event handling to a non-UI class that mediates between UI and domain logic
Assign object creation responsibility to the class best suited to create instances
Master modern data architecture patterns, storage technologies, and scalable persistence strategies
TL;DR
TL;DR
TL;DR
Encapsulate complex object creation logic
TL;DR
TL;DR
Assign responsibility to an intermediate object that mediates between other objects
Assign responsibility to the class that has the information needed to fulfill it
Define a grammar and interpreter for a language to process structured text or commands
Access elements of a collection sequentially without exposing its underlying representation
Centralize complex communication logic between multiple objects in a mediator object
Capture and externalize an object's state without violating encapsulation
TL;DR
Balance data consistency and query performance through normalization and strategic denormalization
Provide an object as surrogate for null reference with neutral behavior
TL;DR
Define a one-to-many dependency where when one object changes state, all dependents are notified
Using design patterns everywhere, even when simple solutions work better.
Handle object type variations through polymorphic types rather than conditional logic
TL;DR
TL;DR
Create artificial classes to represent operations when assigning to domain objects would violate other principles
TL;DR
Encapsulate business rules as queryable objects for flexible filtering and validation
Allow an object to alter its behavior when its internal state changes
Define a family of algorithms, encapsulate each, and make them interchangeable
Compose objects into larger structures while keeping relationships flexible and decoupled
Patterns and building blocks for designing domain models within bounded contexts
Define the skeleton of an algorithm, deferring specific steps to subclasses
Represent an operation to be performed on elements of an object structure