O'Reilly logo

Object Design: Roles, Responsibilities, and Collaborations by Alan McKean, Rebecca Wirfs-Brock

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

Christopher Alexander suggests that we solve a design problem in “the least arbitrary manner possible.” If we do so, we avoid misfits between form and context. So let’s not be cavalier about how our objects cooperate! Software objects are connected through interactions and shared responsibilities. If we design simple, consistent communications, our solution won’t be arbitrary. Our design will be more adaptable if parts can be changed without effects rippling throughout the system. A complex software system becomes manageable when responsibilities are partitioned and organized and when collaborations follow predictable patterns.

What Is Object Collaboration?

Collaborations are requests from one object to another. One object ...

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