Chapter 1 - Introduction
Coupling, Cohesion, and Separation of Concerns
Model - View - Controller (MVC)
Advantages of MVC
Disadvantages of MVC
Interface and Implementation
The effects of change
Observations
Lab
Chapter 2 - Clone
Shallow copy
Deep copy
Without the pattern
The bad news
Solution
With the pattern
Idiom
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 3 - Prototype
Without the pattern
The bad news
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 4 - Factory Method
Without the pattern
The bad news
Solution
With the pattern
Variations
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 5 - Disable Copying
Value Semantics versus Reference Semantics
Problem
Solution
Idiom
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 6 - Singleton
Without the pattern
The bad news
What won't work
Solution
With the pattern
When is a Singleton not a Singleton?
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 7 - Prototype, Factory Method, or Singleton?
Problem
When To Use
Makes It Easier To
Solution
Lab
Chapter 8 - Abstract Factory
Without the pattern
The bad news
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 9 - Bridge
Problem
What won't work
Without the pattern
The bad news
Solution
How to hide the handle
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 10 - Proxy
Problem
Solution
Without the pattern
The bad news
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 11 - Iterator
Problem
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 12 - Composite
Talking to leaves and groups
Without the pattern
The bad news
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 13 - Builder
Problem
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 14 - Flyweight
Without the pattern
The bad news
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 15 - Interpreter
Problem
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 16 - Visitor
Problem
Solution
Problem
Without the pattern
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 17 - Null Object
Without the pattern
The bad news
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 18 - Chain of Responsibility
Problem
Without the pattern
The bad news
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 19 - Memento
Without the pattern
The bad news
What won't work
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 20 - Command
Without the pattern
The bad news
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 21 - All of Me
Problem
Solution
Idiom
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 22 - State
Without the pattern
The bad news
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 23 - Decorator
Problem
Diamond of Death
Combinatorial Explosion
Without the pattern
The bad news
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 24 - Observer
Without the pattern
The bad news
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 25 - Adapter
Without the pattern
The bad news
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 26 - Facade
Problem
Solution
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 27 - Template Method
Without the pattern
The bad news
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 28 - Mediator
Without the pattern
The bad news
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 29 - Strategy
Without the pattern
The bad news
Solution
With the pattern
Design Pattern
When To Use
Makes It Easier To
Reuses
References
Often Confused With
Lab
Chapter 30 - Conclusion
Principles
Incorrect Uses of Inheritance
Advantages
Disadvantages
Sorting Design Patterns: By Name
Sorting Design Patterns: By Intent
Sorting Design Patterns: By Purpose and Scope
Sorting Design Patterns: By Problems They Solve
Sorting Design Patterns: By What They Vary
URL's
Books
Magazines
Mailing Lists
Conferences