|
Updated
2010-01-04 10:53
Summary
Memorize "Gang of Four" Design Patterns used in software development.
Categories
Pattern | Category |
Abstract Factory | Creational |
Adapter | Structural |
Bridge | Structural |
Builder | Creational |
Chain of Responsibility | Behavior |
Command | Behavior |
Composite | Structural |
| memorize |
More
Pattern | Category |
Decorator | Structural |
Facade | Structural |
Factory Method | Creational |
Flyweight | Structural |
Interpreter | Behavior |
Iterator | Behavior |
Mediator | Behavior |
Memento | Behavior |
| memorize |
More
Pattern | Category |
Observer | Behavior |
Prototype | Creational |
Proxy | Structural |
Singleton | Creational |
State | Behavior |
Strategy | Behavior |
Template Method | Behavior |
Visitor | Behavior |
| memorize |
Creational Patterns
Pattern | Use |
Abstract Factory | Used to encapsulate the implemenation and creation of objects from their general use |
Builder | Used to separate the construction of complex objects from their individual representations |
Factory Method | Used to facilitate the creation of objects without requiring implicit knowledge of the exact class being created |
Prototype | Used to create clones of a specific instance of an object |
Singleton | Used to restrict the creation of a specific class to one instance |
| memorize |
Structural Patterns
Pattern | Use |
Adapter | Used to allow incompatible classes to interorperate by wrapping a common interface |
Bridge | Used to separate a class from its implemenation and general abstraction |
Composite | Used to contain one or more similar objects with common defined behaviors |
Decorator | Used to wrap and extend an existing class without subclassing |
Facade | Used to provide a more simple interface to a complex set of classes |
Flyweight | Used to reduce of overhead of maintianing many similar objects that reference another |
Proxy | Used to provide a transparent interface from one object to another |
| memorize |
Behavior Patterns
Pattern | Use |
Chain of Responsibility | Used to connect a series of processing objects that can process or delegate command objects |
Command | Used to encapsulate objects that represent actions and their parameters |
Interpreter | Used to implement a specialized grammar to solve a defined set of problems |
Iterator | Used to allow sequentially access elements of a composite class without exposing the underlying implementation |
Mediator | Used to encapsulate communication between objects |
Memento | Used to provide the ability to undo state changes to an object |
Observer | Used to allow external knowledge of state changes within an object |
State | Used to represent the specific state of an object |
Strategy | Used to provide the ability to dynamically change the algorithim(s) within a program |
Template Method | Used to define the skeleton of an algorithim to be implemented and extended by concrete subclasses |
Visitor | Used to disassociate an object from the operations that may be performed on it |
| memorize |
|
|
| |