Skip to main content

27 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.

Flyweight Pattern

Explains the Flyweight pattern for minimizing memory usage by sharing as much data as possible with similar objects.

Interpreter Pattern

Explains the Interpreter pattern used to evaluate sentences in a specific language by defining a grammar representation and an interpreter.

Iterator Pattern

Explains the Iterator pattern used to traverse collections without exposing their underlying representation.

Java Design Patterns: Overview

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

Mediator Pattern

Explains the Mediator pattern used to reduce chaotic dependencies between objects by centralizing their communication.

Memento Pattern

Explains the Memento pattern used to capture and restore an object's internal state without violating encapsulation.

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.

State Pattern

Explains the State pattern which allows an object to alter its behavior when its internal state changes.

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.

Visitor Pattern

Explains the Visitor pattern used to separate algorithms from the objects on which they operate.