O'Reilly logo

Essential Skills for the Agile Developer: A Guide to Better Programming and Design by Amir Kolsky, Ken Pugh, Scott Bain, Alan Shalloway

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required