The third in a series of books documenting patterns for professional software developers, this volume continues the tradition of informational excellence established by the first two volumes. Pattern Languages of Program Design 3 differs from the previous two volumes in that it includes international submissions, gathering the best papers from both PloP 96 and EuroPLoP 96. It covers a wide range of pattern-related subjects, and patterns are arranged by topic so software engineers can easily select those of greatest relevance to their needs and application domains. This book goes beyond teaching software engineers that design patterns are powerful tools to impart understanding--it shows where and when patterns are best applied.
Table of Contents:
Preface.
I. GENERAL PURPOSE DESIGN PATTERNS.
1. Null Object, Bobby Woolf.
2. Manager, Peter Sommerlad.
3. Product Trader, Dirk Bäumer and Dirk Riehle.
4. Type Object, Ralph Johnson and Bobby Woolf.
5. Sponsor-Selector, Eugene Wallingford.
6. Extension Object, Erich Gamma.
II. VARIATIONS ON DESIGN PATTERNS.
7. Acyclic Visitor, Robert C. Martin.
8. Default and Extrinsic Visitor, Martin E. Nordberg III.
9. State Patterns, Paul Dyson and Bruce Anderson.
III. ARCHITECTURAL PATTERNS.
10. Recursive Control, Bran Selic.
11. Bureaucracy, Dirk Riehle.
IV. DISTRIBUTION PATTERNS.
12. Acceptor and Connector, Douglas E. Schmidt.
13. Bodyguard, Fernando Das Neves and Alejandra Garrido.
14. Asynchronous Completion Token, Irfan Pyarali, Timothy H. Harrison, and Douglas C. Schmidt.
15. Object Recovery, António Rito Silva, João Dias Pereira, and José Alves Marques.
16. Patterns for Logging Diagnostic Messages, Neil B. Harrison.
V. PERSISTENCE PATTERNS.
17. Serializer, Dirk Riehle, Wolf Siberski, Dirk Bäumer, Daniel Megert, and Heinz Z’llighoven.
18. Accessing Relational Databases, Wolfgang Keller and Jens Coldewey.
VI. USER INTERFACE PATTERNS.
19. A Pattern Language for Developing Form-Style Windows, Mark Bradac and Becky Fletcher.
VII. PROGRAMMING PATTERNS.
20. Double-Checked Locking, Douglas E. Schmidt and Tim Harrison.
21. External Polymorphism, Chris Cleeland, Douglas E. Schmidt, and Tim Harrison.
VIII. DOMAIN-SPECIFIC PATTERNS.
22. Business Patterns of Association Objects, Lorraine L. Boyd.
23. A Pattern Language of Transport Systems (Point and Route), Liping Zhao and Ted Foster.
24. The Points and Deviations Pattern Language of Fire Alarm, Systems Peter Molin and Lennart Ohlsson.
IX. PROCESS PATTERNS.
25. The Selfish Class, Brian Foote and Joseph Yoder.
26. Patterns for Evolving Frameworks, Don Roberts and Ralph Johnson.
27. Patterns for Designing in Teams, Charles Weir.
28. Patterns for System Testing, David E. DeLano and Linda Rising.
X. PATTERNS ON PATTERNS.
29. A Pattern Language for Pattern Writing, Gerard Meszaros and Jim Doble.
Index. 0201310112T04062001