Table of Contents
- Improving object creation: The Factory pattern
- Creating complex objects: The Builder pattern
- Cloning an object: The Prototype pattern
- Making two incompatible interfaces compatible: TheAdapter pattern
- Extending the behavior of an object without subclassing:The Decorator pattern
- Simplifying access to a complex system: The Facadepattern
- Reusing objects: The Flyweight pattern
- Keeping the logic decoupled from the user interface: TheModel View Controller Pattern
- Securing an interface: The Proxy pattern
- Sending broadcast messages: The Chain Of Responsibilitypattern
- Adding undo support: The Command pattern
- Creating a Domain Specific Language: The Interpreterpattern
- Notifying all the stakeholders when the state of an objectchanges: The Observer pattern
- Implementing a state machine: The State pattern
- Choosing an algorithm dynamically: The Strategy pattern
- Abstracting the common parts of an algorithm: TheTemplate pattern

