11.5. Subsystems as Frameworks

While our discussion on subsystems has been solely focused on the various relationships between client and subsystem classes, it's quite possible that a subsystem can evolve into a flexible framework. We briefly discussed frameworks in Chapter 10 and provided a sample error-handling framework. A framework offers flexibility in that it enables classes to be plugged into the framework at various extension points. In fact, the development of frameworks and subsystems is complementary.

We'll find that frameworks typically focus on identifying the extension points that must be customized on a situational basis. Subsystems, on the other hand, are focused more on how we package our classes and define the appropriate relationships ...

Get Java™ Design: Objects, UML, and Process now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.