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 1. Design Concepts

Alan Kay’s favorite metaphor for software objects is a biological system. Like cells, software objects don’t know what goes on inside one another, but they communicate and work together to perform complex tasks. In contrast, monolithic software is like a mechanical clock containing innumerable gears. Each gear functions unintelligently and only in relation to other adjacent gears. That design is hopelessly flawed. “When you’re building gear clocks, eventually you reach a certain level of complexity and it falls in on itself,” says Kay.

A software object may be machinelike, but, crafted by a thoughtful designer, it can be very smart. It makes decisions; it does things and knows things. It collaborates with potentially ...

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