Chapter 12. Needs versus Capabilities Interfaces

One challenge facing development is the creation of strongly encapsulating interfaces. Even if the argument “design to interfaces” is accepted as common wisdom by a team, still the exact nature and placement of those interfaces can be hard to get “right.” In this chapter, we will examine the notion of the interface and show how our desire to control dependencies can give us the right point of view from which to discover strong interfaces.

The Law of Demeter

Controlling dependencies is not a new problem. System maintenance has always been critical, and dependencies can make changes very difficult when a change to one part of a system may ripple through other parts through the coupling that exists ...

Get Essential Skills for the Agile Developer: A Guide to Better Programming and Design 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.