Pattern Languages of Program Design 2, 1st edition

  • John Vlissides
  • James O. Coplien
  • Norman L. Kerth

Unfortunately, this item is not available in your country.

Overview

"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.



0201895277B04062001

Table of contents

I. LANGUAGE-SPECIFIC PATTERNS AND IDIOMS.

 1. Localized Ownership: Managing Dynamic Objects in C++.

 2. Lazy Optimization: Patterns for Efficient Smalltalk Programming.

 3. Partitioning Smalltalk Code into ENVY/Developer Components.

II. GENERAL-PURPOSE PATTERNS.

 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.

III. SPECIAL-PURPOSE PATTERNS.

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.

IV. ARCHITECTURAL PATTERNS.

16. Some Patterns for Software Architectures.

17. Reflection.

18. Evolution, Architecture, and Metamorphosis.

V. PROCESS AND ORGANIZATION.

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.

VI. EXPOSITION.

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.

VII. CONCURRENT PROGRAMMING/DISTRIBUTED SYSTEMS.

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.

VIII. REACTIVE SYSTEMS.

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

Published by Addison-Wesley Professional (June 14th 1996) - Copyright © 1996