Chapter 1 - Object-Oriented Design
The Problem Design Solves Imagine you wrote an application, also imagine that once written this application need never change. In this case design does not matter. Unfortunately, something will change. Change is unavoidable. The application was a huge success but now everyone is asking for more features. It is this need for change that makes design matter. Applications that are easy to change are a pleasure to write and a joy to extend. Applications that resist change are just the opposite; every change is expensive and each makes the next cost more. ...