The Lego Brick Metaphor  The Lego Brick Metaphor  Our first
metaphor helps us think of important object characteristics,
such as composability, simple interfaces, and comprehensibility
(limited number of forms). It also illuminates important aspects
of the object-oriented software development process, most
notably the fact that two distinct but related processes are
required.  Let s express the metaphor as a dictum: software
should be assembled from a finite set of composable units the
way that dinosaurs and castles and spaceships are constructed
from a common set of Lego bricks . It is no accident that the
first special issue of the Communications of the ACM devoted to
objects had a cover photo of stacked red and yellow Legos.  On
its face, this seems to be a restatement of Brad Cox s software
IC metaphor. But there are depths and nuances to this metaphor
that are missing from the simpler software IC idea. Like Cox s
metaphor, this one tells us that we should be able to construct
an arbitrary number of softw