Always Learning

Advanced Search

Pattern Languages of Program Design 2

Pattern Languages of Program Design 2

John Vlissides, James Coplien, Norman Kerth

Aug 1996, Paperback, 624 pages
ISBN13: 9780201895278
ISBN10: 0201895277
This title is ordered on demand which may result in extended delivery times.
Special online offer - Save 30%
Was 31.99, Now 22.39Save: 9.60
  • Print pagePrint page
  • Email this pageEmail page
  • Share

"Having expertise is one thing; conveying it to others is quite another. Patterns do just that."

Patterns are a literary form with roots in literate programming, in a design movement of the same name in contemporary architecture, and in the practices common to the ageless literature of any culture.

This volume, with contributions from the biggest names in the patterns community, is the second in a series documenting patterns for professional software developers. These patterns capture solutions to a plethora of recurring problems in software design and development, including language-specific patterns and idioms; general- and special-purpose patterns; architectural patterns; process and organizational patterns; expositional patterns; and patterns for concurrent programming, distributed systems, and reactive systems. This new collection not only reveals secrets of great software professionals but also makes those secrets easy to apply to your own work.



1. Localized Ownership: Managing Dynamic Objects in C++.
2. Lazy Optimization: Patterns for Efficient Smalltalk Programming.
3. Partitioning Smalltalk Code into ENVY/Developer Components.


4. Command Processor.
5. Implementation Patterns for the Observer Pattern.
6. Patterns for Encapsulating Class Trees.
7. The Proxy Design Pattern Revisited.
8. MOODS: Models for Object-Oriented Design of State.
9. Shopper.


10. Detachable Inspector/Removable: A Structural Pattern for Designing Transparent Layered Services.
11. Design Patterns for Object-Oriented Hypermedia Applications.
12. Organizational Multiplexing: Patterns for Processing Satellite Telemetry with Distributed Teams.
13. Backup Pattern: Designing Redundancy in Object-Oriented Software.
14. Crossing Chasms: A Pattern Language for Object-RDBMS Integration.
15. Transactions and Accounts.


16. Some Patterns for Software Architectures.
17. Reflection.
18. Evolution, Architecture, and Metamorphosis.


19. Prioritizing Forces in Software Design.
20. Decision Deferral and Capture Pattern Language.
21. Organizational Patterns for Teams.
22. Accountability and Organizational Structures.
23. EPISODES: A Pattern Language of Competitive Development.


24. Patterns for Classroom Education.
25. Demo Prep: A Pattern Language for the Preparation of Software Demonstrations.
26. A Pattern Language for an Essay-Based Web Site.


27. Half-Sync/Half-Async: An Architectural Pattern for Efficient and Well-Structured Concurrent I/O.
28. Resource Exchanger: A Behavioral Pattern for Low-Overhead Concurrent Resource Management.
29. The Client-Dispatcher-Server Design Pattern.
30. Active Object: An Object Behavioral Pattern for Concurrent Programming.
31. Selecting Locking Designs for Parallel Programs.


32. Object-Oriented Design Patterns in Reactive Systems.
33. Fault-Tolerant Telecommunication System Patterns.
34. Improving Responsiveness in Interactive Applications Using Queues.
35. A Pattern Language for Improving the Capacity of Reactive Systems. 0201895277T04062001

John Vlissides is a member of the research staff at the IBM T. J. Watson Research Center in Hawthorne, New York. He has practiced object-oriented technology for more than a decade as a designer, implementer, researcher, lecturer, and consultant. In addition to co-authoring Design Patterns: Elements of Reusable Object-Oriented Software, he is co-editor of the book Pattern Languages of Program Design 2 (both from Addison-Wesley). He and the other co-authors of Design Patterns are recipients of the 1998 Dr. Dobb's Journal Excellence in Programming Award.

James O. Coplien is a premier expert and writer on the object paradigm and C++, having worked with the language since its inception at AT&T. Currently a member of Bell Laboratories Research at Lucent Technologies, his work focuses on multi-paradigm development methods and organizational anthropology for software development processes. His previous books include Pattern Languages of Program Design (with Douglas C. Schmidt), Pattern Languages of Program Design, Volume 2 (with John M. Vlissides and Norman L. Kerth), and Advanced C++ Programming Styles and Idioms.

Norman L. Kerth is a principal consultant with Elite Systems in Portland, Oregon. He works with companies to ensure their successful transition to object-oriented technology. He includes the wider issues of specification and design activities, quality assurance, continuous process improvement, project management and the building of effective teams.