Create
Learn
Share

Design Patterns

rename
Updated 2010-01-04 10:53

Summary

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

Categories

PatternCategory
Abstract FactoryCreational
AdapterStructural
BridgeStructural
BuilderCreational
Chain of ResponsibilityBehavior
CommandBehavior
CompositeStructural
memorize

More

PatternCategory
DecoratorStructural
FacadeStructural
Factory MethodCreational
FlyweightStructural
InterpreterBehavior
IteratorBehavior
MediatorBehavior
MementoBehavior
memorize

More

PatternCategory
ObserverBehavior
PrototypeCreational
ProxyStructural
SingletonCreational
StateBehavior
StrategyBehavior
Template MethodBehavior
VisitorBehavior
memorize

Creational Patterns

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

Structural Patterns

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

Behavior Patterns

PatternUse
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

Recent badges