Skip to main content

17 docs tagged with "design-patterns"

View all tags

Abstract Factory Pattern

Explains the Abstract Factory pattern for creating related object families without coupling code to concrete classes.

Adapter Pattern

Explains the Adapter pattern for bridging incompatible interfaces so existing classes can work together cleanly.

Bridge Pattern

Explains the Bridge pattern for separating abstractions from implementations so both can evolve independently.

Builder Pattern

Explains the Builder pattern for constructing complex objects step by step with clearer, more maintainable APIs.

Command Pattern

Explains the Command pattern for encapsulating requests as objects to support queuing, logging, and undo operations.

Composite Pattern

Explains the Composite pattern for modeling part-whole hierarchies and treating single objects and object groups uniformly.

Decorator Pattern

Explains the Decorator pattern for adding responsibilities to objects dynamically without relying on subclassing.

Facade Pattern

Explains the Facade pattern for exposing a simple interface over complex subsystems to reduce coupling.

Factory Method Pattern

Explains the Factory Method pattern for deferring object creation to subclasses while preserving a common creation contract.

Java Design Patterns: Overview

Overview of Java design patterns, their categories, and how they improve maintainability, readability, and software design decisions.

Observer Pattern

Explains the Observer pattern for propagating state changes to dependent objects through event-style notifications.

Prototype Pattern

Explains the Prototype pattern for creating new objects by cloning existing instances instead of rebuilding them from scratch.

Proxy Pattern

Explains the Proxy pattern for controlling access to another object through an intermediary with the same interface.

Singleton Pattern

Explains the Singleton pattern for ensuring a single shared instance and a controlled global access point.

Strategy Pattern

Explains the Strategy pattern for swapping algorithms at runtime through a shared interface and composition.

Template Method Pattern

Explains the Template Method pattern for defining an algorithm skeleton while allowing subclasses to customize specific steps.