Design Patterns and Evolution Scenarios
特定のデザインパターンになった後に、どんな要件があって、その要件はそのパターンにどう影響する?
例: Observer
- 新しい状態変化のメソッドの追加(setX(int), setY(int) --> setX(int), setY(int), setColor(Color))
- ConcreteObserver の追加
- 新しい Observer interface の実装(ConcreteObserver implements ObserverA --> ConcreteObserver implements ObserverA, ObserverB)
例: Visitor
- 新しい ConcreteVisitor の追加
- 新しい ConcreteElement の追加
etc
で、こういうのを考えることで何が嬉しいのでしょうか、って感じ?