Books : reviews

Frank Buschmann, Kelvin Henney, Douglas C. Schmidt.
On Patterns and Pattern Languages.
Wiley. 2007

Software patterns have significantly changed the way we design, implement, and think about computing systems. Patterns provide us with a vocabulary to express architectural visions and approaches to development, as well as examples of representative designs and detailed implementations that are clear and to the point.

Until now there has been no complete and up-to-date work on the pattern concept available. The knowledge of the latest advances in the conceptual foundations of patterns remains locked in the minds of a few experts and thought leaders in the patterns community. Pattern-Oriented Software Architecture, Volume 5 (POSA 5) mines this knowledge and documents it for the consumption of the broader software development community.

POSA 5 presents, discusses, relates, and contrasts the many known flavors and applications of the pattern concept: stand-alone patterns, pattern complements, pattern compounds, pattern stories and sequences, and pattern languages. For each concept flavor, the authors investigate its fundamental and advanced properties, and explore insights that help readers master concepts that are well known in the pattern community.

The book is presented in three main parts:

  • Part I, Inside Patterns, reflects on the use of stand-alone patterns gained over the past decade
  • Part II, Between Patterns, moves outside of the individual pattern to explore the relationships between patterns
  • Part III, Into Pattern Languages, builds on the concepts and conclusions of the first two parts by introducing pattern languages

The authors provide an overview of the current state of knowledge and practice in software patterns. The book codifies the key roles and relationships of the pattern concept in one volume, allowing readers to deepen their understanding of what patterns are, what they are not, and how to use them successfully.

This concepts volume revisits principles developed in previous POSA volumes and other sources of software pattern literature to enhance, revise, and extend these ideas.