Methods do not provide the intuiton and the direct access to solutions that work in real life. Design Patterns are the jewels, the cristals of Object Oriented Design ...


slide: Phrases ..


Take for example a document processing system ...


slide: Document processing


Managing composites

Problem: very many items

Solution: flyweight class


slide: Composite ...



slide: Composite


Managing layout and formatting

Problem: many algorithms

Solution: composer (strategy) class


slide: Strategy ...



slide: Strategy


Display item with attributes

Problem: non-uniform attributes

Solution: embed and hide attributes


slide: Decorate ...



slide: Decorator


Develop multi-platform tools (1)

Problem: different window toolkits

Solution: employ platform-specific factories


slide: Factory ...



slide: Factory


Develop multi-platform tools (2)

Problem: offer uniform widget hierarchy

Solution: separate interface from implementation


slide: Bridge ...



slide: Bridge


Provide rich functionality

Problem: support commands with undo

Solution: abstract from specific commands


slide: Command ...



slide: Command

Observer

one-to-many dependencies and notification


Consequences


slide: Observer Pattern


Implementation


slide: Observer Pattern