Fundamental Properties
The journey started with
However, the development of the pattern language process revealed something
else. Christopher Alexander stated that, even when publishing
His most extensive work by far, the four-volume essay,
Why are the fundamental properties missing from so much of the available material on software design patterns? To understand the answer, you first need to understand the fundamental properties of forms and how they work.
Before discussing the properties, I need to state more precisely what the properties are of. They are properties of the forms of compound objects. They are properties found in patterns of architecture because buildings are compound objects. They are found in other things too, but Christopher Alexander mostly talked about these properties as being present in nature in living things, in the construction of buildings, furniture, and other objects with which we live and enrich our lives, such as teapots and cups, decorations and paintings[NoO1-01], and also, and in great depth, the designs of Turkish rugs[AFo21CA93].
The Nature of Order first describes the properties and later redescribes them relative to nature. Only in volume two[NoO2-02] do we find a discussion on how they come about. The transitions between forms with good properties are described therein as structure-preserving transformations.
This transformation aspect is the process side of the process and a thing of the properties of forms. Given how strongly I feel about how contexts and forces should drive patterns, I also believe the properties of forms should have a description starting from the forces that would lead to their presence. So that’s what I’ve attempted to do.
Rather than, once more, recite the properties as solutions, I attempt to produce a novel summary. Starting with what stresses would induce a need to take the structure-preserving transformation, I present the transition and what the form looks like both before and after. Just as a pattern should start from a position of an unresolved problem and move toward a solution, these properties of form follow a similar relaxing path. However, not all properties of forms are transformations, so in some instances the description has to fall back to explaining what they are and how they come about.
If you already know the properties and are not interested in this different approach to describing them, consider skipping to the section on colour, where we’ll get into the reason why these fundamental properties didn’t land for software engineering.
[Grabow83], p. 200.
[NoO1-01] p. 242.