Bibliographic Information

Pattern languages of program design

edited by James O. Coplien, Douglas C. Schmidt

Addison-Wesley, c1995-c1996

  • [1]
  • 2

Available at  / 23 libraries

Search this Book/Journal

Note

Vol. 2 edited by: John M. Vlissides, James O. Coplien, Norman L. Kerth

Includes bibliographical references and index in each vol

Continuous vol. published in series: Software patterns seires

Description and Table of Contents

Volume

[1] ISBN 9780201607345

Description

The first conference on Pattern Languages of Program Design (PLoP)was a watershed event that gave a public voice to the software designpattern movement. Seventy software professionals from around theworld worked together to capture and refine software experience thatexemplifies the elusive quality called "good design." This volume isthe result of that work--a broad compendium of this new genre ofsoftware literature. Patterns are a literary form that take inspiration from literateprogramming, from a design movement of the same name in contemporaryarchitecture, and from the practices common to the ageless literatureof any culture. The goal of pattern literature is to help programmersresolve the common difficult problems encountered in design andprogramming. Spanning disciplines as broad as client/serverprogramming, distributed processing, organizational design, softwarereuse, and human interface design, this volume encodes designexpertise that too often remains locked in the minds of expertarchitects.By capturing these expert practices as problem-solutionpairs supported with a discussion of the forces that shape alternativesolution choices, and rationales that clarify the architects' intents,these patterns convey the essence of great software designs. 0201607344B04062001

Table of Contents

Introduction. Preface. I. FRAMEWORKS & COMPONENTS. 1. Functionality Ala Carte (Sam Adams). 2. A Pattern Language for Tool Construction and Integration Based on the Tools and Materials Metaphor (Dirk Riehle, Heinz Zullighoven). 3. Flexible Command Interpreter: A Pattern for an Extensible and Language-Independent Interpreter System (Norbert Portner). 4. New Clients with Old Servers: A Pattern Language for Client/Server Frameworks (Kirk Wolf, Chamond Liu). II. SYSTEMS & DISTRIBUTED PROCESSING. 5. A Generative Pattern Language for Distributed Processing (Dennis DeBruler). 6. G++: A Pattern Language for Computer-Integrated Manufacturing (Gabriele Elia, Amund Aarsten, Giuseppe Menga). 7. Patterns for Generating a Layered Architecture (Barry Rubel). 8. Pattern: Half-Object + Protocol (HOPP) (Gerard Meszaros). 9. The Master-Slave Pattern (Frank Buschmann). III. BUSINESS OBJECTS. 10. The CHECKS Pattern Language of Information Integrity (Ward Cunningham). 11. Account Number: A Pattern (William Wake). 12. STARS: A Pattern Language for Query-Optimized Schemas (Steve Peterson). IV. PROCESS AND ORGANIZATION. 13. A Generative Development-Process Pattern Language (James Coplien). 14. Lifecycle and Refactoring Patterns That Support Evolution and Reuse (Brian Foote, William Opdyke). 15. RAPPeL: A Requirements-Analysis-Pattern Language for Object Oriented Development (Bruce Whitenack). 16. Caterpillar's Fate: A Pattern Language for the Transformation from Analysis to Design (Norman Kerth). V. DESIGN PATTERNS AND CATALOGS. 17. A System of Patterns (Frank Buschmann, Regine Meunier). 18. Relationships Between Design Patterns (Walter Zimmer). 19. Discovering Patterns in Existing Applications (Robert Martin). 20. Implementing Patterns (Jiri Soukup). VI. ARCHITECTURE & COMMUNICATION. 21. Streams: A Pattern for "Pull-Driven" Processing (Stephen Edwards). 22. The Pipes and Filters Architecture (Regine Meunier). 23. Pattern-Based Integration Architectures (Diane Mularz). 24. Patterns for Software Architectures (Mary Shaw). VII. OBJECT USAGE AND STYLE. 25. Understanding and Using the ValueModel Framework in VisualWorks Smalltalk (Bobby Woolf). 26. Client-Specified Self (Panu Viljamaa). 27. Reusability Through Self-Encapsulation (Ken Auer). VIII. EVENTS & EVENT HANDLERS. 28. A Pattern for Separating Assembly and Processing (Steve Berczuk). 29. Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching (Douglas Schmidt). 30. Patterns of Events (Alexander Ran). Appendix: Request Screen Modification (Dwayne Towell). Index. 0201607344T04062001
Volume

2 ISBN 9780201895278

Description

"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

by "Nielsen BookData"

Details

Page Top