Summary

Design is normally thought of as a process of synthesis, a process of putting things together. In software, a common approach is to look immediately for objects and classes and components and then think about how they should fit together.

In The Timeless Way of Building, Christopher Alexander described a better approach, one that is based on patterns:

1.
Start out with a conceptual understanding of the whole in order to understand what needs to be accomplished.
2.
Identify the patterns that are present in the whole.
3.
Start with those patterns that create the context for the others.
4.
Apply these patterns.
5.
Repeat with the remaining patterns, as well as with any new patterns that were discovered along the way.
6.
Finally, refine ...

Get Design Patterns Explained: A New Perspective on Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.