DESIGN PATTERN SPACE
Creational: FA; Structural: CAD; Behavioral: SOT
The simplest and most common patterns:
Abstract Factory
Adapter
Composite
Decorator
Factory Method
Observer
Strategy
Template Method
It's hard to find an object-oriented system that doesn't use at least a couple of these patterns, and large systems use nearly all of them. This subset will help you understand design patterns in particular and good object-oriented design in general
SOME COMMON CAUSES OF REDESIGN (CCOR)
Common causes of redesign | Design patterns | Abbr. |
1. Creating an object by specifying a class explicitly. | Abstract Factory , Factory Method , Prototype | FAP |
2. Dependence on specific operations. | Chain of Responsibility , Command | CC |
3. Dependence on hardware and software platform. | Abstract Factory , Bridge | BA |
4. Dependence on object representations or implementations. | Abstract Factory , Bridge , Memento , Proxy | BAPM |
5. Algorithmic dependencies. | Builder , Iterator ,Strategy , Template Method , Visitor | BITVS |
6. Tight coupling. | Abstract Factory , Bridge , Chain of Responsibility , Command , Facade , Mediator ,Observer | BACCOFM |
7. Extending functionality by subclassing. | Bridge , Chain of Responsibility ,Composite , Decorator , Observer , Strategy | BCCDOS |
8. Inability to alter classes conveniently. | Adapter , Decorator , Visitor | ADV |