7.2. Responsibility–Driven Development

The design process requires special discussion in order to promote responsibility-driven design and development. Responsibility-driven design requires that subsystems and components are identified and designed based on their functional responsibilities. Each subsystem or component has a set of responsibilities which is orthogonal to every other subsystem or component in the system. If a particular responsibility which already exists is required by a new subsystem or component, the new component delegates the task to an existing instance of the component or subsystem. This technique maximizes reuse and redundancy at the expense of the typically small performance overhead of delegation. While responsibility-driven ...

Get Software Architect Bootcamp 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.