A fabric of objects
In Death and Life, Jane Jacobs says that there are three kinds of units that are useful for a large city to function:
Looking at city neighborhoods as organs of self-government, I can see evidence that only three kinds of neighborhoods are useful: (1) the city as a whole; (2) street neighborhoods; (and 3) districts of large, subcity size, composed of 100,000 people or more in the case of the largest cities.
Street neighborhoods and districts aren’t defined by physical boundaries, she writes. There are no distinct boundaries between them. Rather, they form a weave together. What defines a street neighborhood or a district is the interactions of the people that use them. “Successful street neighborhoods,” she summarizes, “are not discrete units. They are physical, social and economic continuities – small scale to be sure, but small scale in the sense that the length of fibers making up a rope are small scale.” The size of a neighborhood “even differs for different people from the same spot, because some people range farther, or hang around more, or extend their street acquaintance farther than others.”
Orthodox city planning theory misses this, argues Jacobs. She describes the difference between this view and the view of orthodox planning theory as “the difference between dealing with living, complex organisms, capable of shaping their own destinies, and dealing with fixed and inert settlements, capable merely of custodial care (if that) of what has been bestowed upon them.”
In object-oriented programming, objects and subsystems are often seen as discrete, isolated units. They hide their internals from the world, and provide its services to the world via interfaces. But actually, the design of each unit is shaped by the needs of its environment. There is no absolute optimum design for an object – it all depends on whatever context the object is to live in. Seen this way, the objects of a system form a fabric instead of a jigsaw puzzle. (See also my post “Conceptual clarity and test-driven development”.)