III Into Pattern Languages
In the third part of the book we build on the concepts and conclusions of the first two parts by introducing pattern languages. Pattern languages aim to provide holistic support for using patterns to develop software for specific technical or application domains. They achieve this goal by enlisting multiple patterns for each problem that can arise in their respective domains and weaving them together to define a generative and domain-specific software development process.
Successfully designing software with patterns was and still is the original vision of Pattern-Oriented Software Architecture. The concepts we introduced and discussed in Part I, Inside Patterns, and Part II, Between Patterns—stand-alone patterns, pattern complements, pattern compounds, pattern stories, and pattern sequences—contribute to this vision, but do not quite, perhaps, fully realize it. This part of the book, therefore, elaborates the concept of pattern languages, which aim to provide holistic, systematic, and constructive support for developing software with patterns—both regarding the concrete designs to create and the process to create those designs. Pattern languages fulfill this goal by integrating the concepts listed above and extending them with additional concepts, mainly in the area of processes.
This part of ...