Chapter 5 Design Principles II: Flexibility, Reusability, and Efficiency.
Comp2110 Software Design lecture 13Detailed Design (1) detailed design contrasted with high level design introducing the Observer Design Pattern