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