|
|
| |
Dragos Manusecu, Markus Völter, James Noble (Eds.)
Pattern Languages of Program Design 5
Addison Wesley Pattern Series
ISBN: 0321321944, Addison-Wesley 2006
To be published in Q2 2006.
| |
|
Dragos (who originally wrote this nice summary at his website,
myself and James selected among patterns workshopped at PLoP conferences from 1998 through
2004. We structured the book in six parts. Part I focuses on design and contains patterns aimed at people
designing object systems. As the Internet and embedded systems continue to expand their reach they
bring with them concurrency and resource management problems; Part II contains patterns on these
topics. Part III continues the shift from one to many applications and contains patterns for distributed
systems. The domain specific patterns from Part IV focus on mobile telephony and Web-based applications.
Part V shifts gears to architecture and comprises patterns that tackle composition, extensibility, and reuse.
Finally, Part VI offers a smorgasbord of meta-patterns for improving the quality of pattern papers and
helping their authors.
Here's what you can find in each chapter:
-
The Dynamic Object Modelpattern combines ideas from class-based (like Java) and prototype-based (like Self)
languages to address dealing with elaborate flexibility requirements.
-
The Domain Object Manager allows application code to handle transient and persistent domain
objects while supporting multiple data stores or application servers, keeping the domain objects
independent of the persistence or middleware APIs.
-
Encapsulate Context provides value to developers who are seeking ways to lower the
ripple effects of code changes regardless of programming language, allowing them to manage an
increasing number of call parameters without introducing global variables.
-
A Pattern Language for Efficient, Predictable, Scalable, and Flexible Dispatching
Components addresses the challenges associated with developing dispatching components,
providing one of the building blocks of a handbook for distributed real-time and embedded middleware.
-
Triple-T focuses on writing software for real-time processing is hard and poses unique challenges,
covering five patterns harvested from time-triggered bus architectures for safety-critical
real-time systems, such as the ones employed by Airbus airplanes or BMW and DaimlerChrysler automobiles.
-
Real Time and Resource Overload Language presents a pattern language for designing reactive
systems that gracefully accommodate load bursts, applicable to any systems that process
incoming requests, such as web servers, middleware, OLTP, and so on.
-
Drawing upon examples from several systems that deal with distribution De-Centralized
Locking covers a pattern for managing locks in the context of distributed systems.
-
The Comparand Pattern focuses on dealing with identity when working with objects from
different hosts or processes within a distributed system.
-
Service Discovery tackles a common problem in practical ways, distilling solutions from
well-established examples such as SLP, JXTA, UPnP, LDAP, DNS, and the now ubiquitous and IEEE 802.11.
-
MoRaR is a pattern language focused on mobility and radio resource management.
-
Content Conversion and Generation on the Web is a pattern language aimed at people
building applications that deal with dynamic HTML generation.
-
Plug-ins represent a popular technique for extending applications, allowing users to
late-bind new functionality. The Patterns for Plug-Ins pattern language covers techniques
mined from a wide body of software, including operating systems, web browsers, graphics
programs, and development environments.
-
The Grid Middleware Architectural Pattern covers the architectural elements of grid middleware
as well as guidelines for implementing and deploying them.
-
Targeting application developers integrating components written in different languages or built with
hetereogenous component concepts, the Patterns of Component and Language Integration distill
insight from systems that include Apache Axis and the Simplified Wrapper Interface Generator (SWIG).
-
Patterns for Successful Framework Development covers a set of patterns for mitigating the mismatch
between the recommended practice of building frameworks and the reality of many software
development projects.
-
Distilling from 10 years of writing and reviewing patterns Advanced Pattern Writing
provides advice for improving pattern writing.
-
A Language Designer’s Pattern Language explains how does one generate a pattern language
from a system of forces.
-
The Language of Shepherding focuses on analyzing and providing feedback about patterns.
-
Patterns of the Prairie Houses uses the design themes of Frank Lloyd Wright’s
prairie houses as an exploratory vehicle for showing how people should approach
pattern mining and writing.
|