Pattern name | Solves what problem? |
---|---|
Delegation | Defers implementatian af a methad ta a data member |
Template method | Defers implementation of part of a method to a subclass |
Iterator | Encapsulates traversal of a collection |
Singleton | Ensures that on I y a single instance of a class exists |
Proxy | Provides an extra level of indirection in an interface |
Façade | Provides a single interface object to many implementation objects |
Adapter | Converts one interface object to a different implementation object |
Bridge | Decouples an interface object from its implementation object |
Composite | Interfaces to objects that may be simple or nested composites |
Observer | Keeps objects and dependent views consistent |
Mediator | Provides an interface object to mediate interaction |
Command | Encapsulates a request as an object |
Chain of responsibility | Decouples senders from request receivers |
Visitor | Applies various algorithms to object hierarchies |
Prototype | Clones objects |
Builder | Builds composite objects with different representations |
Factory method | Defers instantiation to subclasses |
Abstract factory | Creates families of objects of varying subclasses |
Memento | Saves and restores an object's state |
Flyweight | Allows many objects to share state efficiently |
Strategy | Encapsulates an operation as an object |
Interpreter | Inputs analysis and language processing |
State | Allows objects to appear to change their state |
Decorator | Adds properties and operations to objects dynamically |
Purpose
|
||||
Creational
|
Structural
|
Behavioural
|
||
Scope
|
Class (static) |
Factory Method | Adapter (class) | Interpreter |
Template Method | ||||
Object (dynamic) | Abstract Factory | Adapter (object) | Chain of Respnsability | |
Builder | Bridge | Command | ||
Prototype | Composite | Iterator | ||
Singleton | Decorator | Mediator | ||
Façade | Memento | |||
Observer | ||||
State | ||||
Strategy | ||||
Visitor | ||||
Application-based pattern classification
General
|
Interface
|
Views and Controllers
|
Database and persistence
|
Table-driven Control
|
Roles
|
Delegation | Proxy | Observer | Prototype | Interpreter | State |
Template Method | Façade | Mediator | Builder | Strategy | Decorator |
Iterator | Adapter | Command | Factory Method | ||
Singleton | Bridge | Chain of Reponsability | Abstract Factory | ||
Composite | Visitor | Memento | |||
Flyweight |