November 2002
Intermediate to advanced
416 pages
10h 19m
English
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.
Collaborations are requests from one object to another. One object ...
Read now
Unlock full access