From Amazon
Pattern Languages of Program Design is the first of three volumes of groundbreaking research on patterns, ranging from smaller-scale design patterns to larger patterns useful for software architecture and process engineering. Early chapters look at frameworks and components for engineering solutions to particular types of problems at a higher level, such as looking at patterns as "tools and materials" that can be used to solve problems effectively. The guide also discusses how to use patterns with interpreters and client-server systems.
Distributed processing is a difficult and exciting area of computing, and patterns presented in Pattern Languages of Program Design can help solve some of the problems of scalability, concurrency, and transaction management. These patterns include several business objects for managing transactions and accounts, as well as for optimizing queries across distributed systems.
The middle section of this text applies patterns to the software engineering process itself and several papers (including one intriguingly called "Caterpillar's Fate") show how the pattern movement can benefit software engineers and managers. Further material looks at the process of defining and implementing patterns. (Discovering patterns is only a start; learning to reuse them effectively is another challenge.) Final chapters look at patterns that manage state and events for real-time and behavioral systems.
Although the first installment of Pattern Language of Program Design offers a decidedly mixed bag of essays, it is particularly strong on distributed systems and provides a strong overview of some central thinking on pattern research, which is still relevant. --Richard Dragan
Book Description
The first conference on Pattern Languages of Program Design (PLoP) was a watershed event that gave a public voice to the software design pattern movement. Seventy software professionals from around the world worked together to capture and refine software experience that exemplifies the elusive quality called "good design." This volume is the result of that work--a broad compendium of this new genre of software literature.
Patterns are a literary form that take inspiration from literate programming, from a design movement of the same name in contemporary architecture, and from the practices common to the ageless literature of any culture. The goal of pattern literature is to help programmers resolve the common difficult problems encountered in design and programming. Spanning disciplines as broad as client/server programming, distributed processing, organizational design, software reuse, and human interface design, this volume encodes design expertise that too often remains locked in the minds of expert architects. By capturing these expert practices as problem-solution pairs supported with a discussion of the forces that shape alternative solution choices, and rationales that clarify the architects' intents, these patterns convey the essence of great software designs.
Click here to link to the Software Patterns Series Page http-//heg-school.aw.com/cseng/swpatterns/