About this Book

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, as well as examples of representative designs and detailed implementations that are clear and to the point. Presenting pieces of software in terms of their constituent patterns also allows us to communicate more effectively, with fewer words and less ambiguity.

Since the mid-1990s many software systems, including major parts of the Java and C# programming languages and libraries, were developed with the help of patterns. Sometimes these patterns were applied selectively to address specific challenges and problems. At other times they were used holistically to support the construction of software systems from the definition of their baseline architectures to the realization of their fine-grained details. Today the use of patterns has become a valuable commodity for software professionals.

Over the past decade and a half, a large body of literature has been created to document known patterns in a wide range of areas related to software development, including organization and process, application and technical domains, and best programming practices. This literature provides concrete guidance for practicing software engineers and increasingly influences the education of students. Each year new books and conference proceedings are published with yet more patterns, increasing the depth and ...

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.