I. LANGUAGE-SPECIFIC PATTERNS AND IDIOMS.1. Localized Ownership: Managing Dynamic Objects in C++.
II. GENERAL-PURPOSE PATTERNS.4. Command Processor.
III. SPECIAL-PURPOSE PATTERNS.10. Detachable Inspector/Removable: A Structural Pattern for Designing Transparent Layered Services.
IV. ARCHITECTURAL PATTERNS.16. Some Patterns for Software Architectures.
V. PROCESS AND ORGANIZATION.19. Prioritizing Forces in Software Design.
VI. EXPOSITION.24. Patterns for Classroom Education.
VII. CONCURRENT PROGRAMMING/DISTRIBUTED SYSTEMS.27. Half-Sync/Half-Async: An Architectural Pattern for Efficient and Well-Structured Concurrent I/O.
VIII. REACTIVE SYSTEMS.32. Object-Oriented Design Patterns in Reactive Systems.
"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.
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.