Chapter 11. Designing Subsystems

To effectively achieve any degree of reuse, we must emphasize interfaces, not implementation. Subsystems enable us to emphasize interfaces.

We haven't spent much time talking about reuse. In fact, we've downplayed the concept of reuse in favor of emphasizing architecture and dependency management. We've done so because in order for us to effectively reuse, we must define classes with the appropriate level of granularity and manage the dependencies between these classes. Emphasizing flexible dependencies contributes positively to a more resilient software architecture, and if we can design resilient systems with flexible dependency management, it's easier to create more independent units of deployment. These ...

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.