10 A Network of Patterns and More

Now we shall begin to see in detail how the rich andcomplex order of a town can grow from thousands ofcreative acts. For once we have a common pattern languagein our town, we shall have the power to make our streetsand buildings live, through our most ordinary acts. Thelanguage, like a seed, is the generic system which gives ourmillions of small acts the power to form a whole.

Christopher Alexander, ‘The Timeless Way of Building’

This chapter delves into pattern languages by re-examining our earlier request-handling framework example and looking to see what language might surround it, rather than simply what sequence produced it. We revisit the question of context and the relationships in a pattern language. Grammar provides us with a useful and related metaphor to make this connection.

10.1 A Network of Patterns

From a bird's-eye view, and as a conclusion from the discussion in Chapter 9, we might be tempted to characterize a software pattern language as:

A network of tightly interwoven patterns that defines a process for systematically resolving a set of related and interdependent software development problems.

Although this characterization is in line with the relevant discussions and publications on pattern languages—for example [Cope96], [Gab96], [Cope97], [POSA2], [HaKo04]—it does not tell the whole story. Just as a stand-alone pattern is much more than ‘a solution to a problem that arises within a specific context,’ a pattern language ...

Get Pattern Oriented Software Architecture Volume 5: On Patterns and Pattern Languages 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.