Building in Phases
Another major advantage in using composition is that systems and subsystems can be built independently, and perhaps more importantly, tested and maintained independently.
There is no question that today's software systems are quite complex. To build quality software, you must follow one overriding rule to be successful: Keep things as simple as possible. For large software systems to work properly and be easily maintained, they must be broken up into smaller, more manageable parts. How do you accomplish this? In a 1962 article titled “The Architecture of Complexity,” Nobel Prize winner Herbert Simon noted the following thoughts regarding stable systems:
Stable complex systems usually take the form of a hierarchy, where each ...