Skip to main content

41 docs tagged with "design-patterns"

View all tags

Behavioral Patterns

Patterns for communication between objects and assignment of responsibilities

Command Pattern

Encapsulate a request as an object allowing you to parameterize clients with commands

Controller

Assign system event handling to a non-UI class that mediates between UI and domain logic

Creator

Assign object creation responsibility to the class best suited to create instances

Factories

Encapsulate complex object creation logic

Indirection

Assign responsibility to an intermediate object that mediates between other objects

Information Expert

Assign responsibility to the class that has the information needed to fulfill it

Interpreter Pattern

Define a grammar and interpreter for a language to process structured text or commands

Iterator Pattern

Access elements of a collection sequentially without exposing its underlying representation

Mediator Pattern

Centralize complex communication logic between multiple objects in a mediator object

Memento Pattern

Capture and externalize an object's state without violating encapsulation

Polymorphism

Handle object type variations through polymorphic types rather than conditional logic

Pure Fabrication

Create artificial classes to represent operations when assigning to domain objects would violate other principles

Specification Pattern

Encapsulate business rules as queryable objects for flexible filtering and validation

State Pattern

Allow an object to alter its behavior when its internal state changes

Strategy Pattern

Define a family of algorithms, encapsulate each, and make them interchangeable

Structural Patterns

Compose objects into larger structures while keeping relationships flexible and decoupled

Tactical Design

Patterns and building blocks for designing domain models within bounded contexts

Visitor Pattern

Represent an operation to be performed on elements of an object structure