A Catalogue of Design patterns
- a common design vocabulary
- documentation and learning aid
- an adjunct to existing methods
- a target for redesign
see the
GOF Design Patterns
and the Patterns Homepage
slide: A Catalogue of Design patterns
structure
Name - handle
- increases design vocabulary
Problem - when to apply
- explains the problem and the conflict
Solution - general arrangement
- design, responsibilities, collaborations
Consequences - tradeoffs
- to understand the costs and benefits
slide: The Pattern Schema
Causes for Redesign
design for change
- creating an object by specifying a class explicitly
-- Abstract Factory, Factory Method, Prototype
- dependence on specific operations
Chain of Responsibilty, Command
- dependence on hardware & software platforms
-- Abstract Factory, bridge
- dependence on object implementation or representation
Abstract Factory, Bridge, Memento, Proxy
- algorithm dependence
-- Builder, Iterator, Strategy, Template Method,
Visitor
- extending functionality by subclassing
-- Bridge, Chain, Composite, Decorator, Observer
- tight coupling
-- Abstract Factpry, Bridge, Chain of Responsibilities,
Command, Facade, Mediator, Observer
- inability to alter classes conveniently
-- Adaptor, Decorator, Visitor
slide: Causes for Redesign
Kinds of Patterns
- creational patterns -- factory, singleton, ...
- structural patterns -- adaptor, composite, bridge, ...
- behavioral patterns -- mediator, observer, command, ...
see also
see UML
slide: Kinds of Patterns