Professional Documents
Culture Documents
AbstractFactory many"platforms",oneinterfaceforcreatingafamilyofproducts
Builder parseacomplexrepresentation,createoneofseveraltargets
FactoryMethod dynamic(decoupled)creationthroughinheritance
Prototype dynamic(decoupled)creationthroughdelegation
Singleton singleinstanceenforcement,lazyinitialization,globalaccess
Adapter impedancematchalegacycomponenttoanewsystem
Bridge decoupleinterfacefromimplementationmovebeyondencapsulationtoinsulation
Composite recursivecompositionbycouplingtheaggregateclasstoacommonabstraction
Decorator recursivewrapperingthatsupportsclientspecifiedincrementalembellishment
Facade simplewrapper(orsurrogate)toacomplicatedsubsystem
Flyweight usesharingtooptimizetheuseoflotsof"little"objects
Proxy useanextralevelofindirectiontosupportdistributed,controlled,orintelligentaccess
ChainofRespon OOlinkedlistlaunchandleaverequestswithasimpleprocessingpipeline
Command OOcallbackpromoteamethodinvocationonanobjectto"fullobjectstatus"
Interpreter map:domain=>language=>grammar=>hierarchicalOOdesign
Iterator aninterfacethatsupportsthedecouplingofalgorithmsanddatastructures
Mediator decouplemanypeersbypromotingmanytomanyrelationshipsto"fullobjectstatus"
Memento OOundo/rollbackexternalizeanobject'sstatetoanopaqueobject
Observer decoupleindependentsender(model)fromdependentreceivers(views)
State OOfinitestatemachinestateinheritancehierarchy,currentstatewrapper
Strategy legowarealgorithmpublishinterfaceinabaseclass,buryimplinderivedclasses
TemplateMethod commonalgorithmandplaceholdersinbaseclass,variablestepsinderivedclasses
Visitor openforextension,closedformodificationaddmethodsw/ochangingexistingclasses