11.0. Defining Subsystems
A subsystem can be thought of as a small system in and of itself. Subsystems, as defined in this book, focus on a reusable asset that other components within our application use. These other components, however, are bound to a well-defined interface that the subsystem exposes, which enables us to effectively alter implementations without modifying those elements dependent on the subsystem interface. A subsystem typically is the result of identifying some aspect of a system that exhibits largely independent characteristics from that system. Let's examine the following characteristics of a subsystem:
<<subsystem>> stereotyped package
Well-defined interface
Interface implemented by public proxy class
All classes package scope ...
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.