Memorize.com

Design Patterns

edit

Summary

Memorize "Gang of Four" Design Patterns used in software development.

Categories

Pattern Category (memorize)
Abstract FactoryCreational
AdapterStructural
BridgeStructural
BuilderCreational
Chain of ResponsibilityBehavior
CommandBehavior
CompositeStructural

More

Pattern Category (memorize)
DecoratorStructural
FacadeStructural
Factory MethodCreational
FlyweightStructural
InterpreterBehavior
IteratorBehavior
MediatorBehavior
MementoBehavior

More

Pattern Category (memorize)
ObserverBehavior
PrototypeCreational
ProxyStructural
SingletonCreational
StateBehavior
StrategyBehavior
Template MethodBehavior
VisitorBehavior

Creational Patterns

Pattern (memorize) Use (memorize)
Abstract FactoryUsed to encapsulate the implemenation and creation of objects from their general use
BuilderUsed to separate the construction of complex objects from their individual representations
Factory MethodUsed to facilitate the creation of objects without requiring implicit knowledge of the exact class being created
PrototypeUsed to create clones of a specific instance of an object
SingletonUsed to restrict the creation of a specific class to one instance

Structural Patterns

Pattern (memorize) Use (memorize)
AdapterUsed to allow incompatible classes to interorperate by wrapping a common interface
BridgeUsed to separate a class from its implemenation and general abstraction
CompositeUsed to contain one or more similar objects with common defined behaviors
DecoratorUsed to wrap and extend an existing class without subclassing
FacadeUsed to provide a more simple interface to a complex set of classes
FlyweightUsed to reduce of overhead of maintianing many similar objects that reference another
ProxyUsed to provide a transparent interface from one object to another

Behavior Patterns

Pattern (memorize) Use (memorize)
Chain of ResponsibilityUsed to connect a series of processing objects that can process or delegate command objects
CommandUsed to encapsulate objects that represent actions and their parameters
InterpreterUsed to implement a specialized grammar to solve a defined set of problems
IteratorUsed to allow sequentially access elements of a composite class without exposing the underlying implementation
MediatorUsed to encapsulate communication between objects
MementoUsed to provide the ability to undo state changes to an object
ObserverUsed to allow external knowledge of state changes within an object
StateUsed to represent the specific state of an object
StrategyUsed to provide the ability to dynamically change the algorithim(s) within a program
Template MethodUsed to define the skeleton of an algorithim to be implemented and extended by concrete subclasses
VisitorUsed to disassociate an object from the operations that may be performed on it

Memorize Uses together

Updated: use the new 'combine' link on the right side of this page to combine tables.