Books

Short works

Books : reviews

Neil B. Harrison, Brian Foote, Hans Rohnert, eds.
Pattern Languages of Program Design 4.
Addison Wesley. 2000

Design patterns have moved into the mainstream of commercial software development as a highly effective means of improving the efficiency and quality of software engineering, system design, and development. Patterns capture many of the best practices of software design, making them available to all software engineers.

The fourth volume in a series of books documenting patterns for professional software developers, Pattern Languages of Program Design 4 represents the state-of-the-art practices in the patterns community. The 29 chapters of this book were each presented at recent PLoP conferences and have been explored and enhanced by leading experts in attendance. Representing the best of the conferences, these patterns provide effective, tested, and versatile software design solutions for solving real-world problems in a variety of domains.

This book covers a wide range of topics, with patterns in the areas of object-oriented infrastructure, programming strategies, temporal patterns, security, domain-oriented patterns, human-computer interaction, reviewing, and software management. Among them, you will find:
• The Role object
• Proactor
• C++ idioms
• Architectural patterns for security
• Reports
• Composing multimedia artifacts
• Customer interaction

As patterns evolve beyond the realm of research into the world of practical software development, more and more developers are discovering that reusable design patterns (such as those contained in this volume) can help them achieve faster, more cost-effective delivery of their applications.

The patterns presented are grouped into: • Basic Object-Oriented Patterns • Object-Oriented Infrastructure Patterns • Programming Strategies • Time • Security • Domain-Oriented Patterns • Patterns of Human-Computer Interaction • Reviewing • Managing Software

Contents

Bobby Woolf. Abstract Class. 2000
Dirk Baumer, Dirk Riehle, Wolf Siberski, Martina Wulf. Role Object. 2000
Andy Carlson. Essence. 2000
Bobby Woolf. Object Recursion. 2000
James Noble. Prototype-Based Object System. 2000
James Noble. Basic Relationship Patterns. 2000
Nat Pryce. Abstract Session: An Object Structured Pattern. 2000
Antonio Rito Silva, Joao Dias Pereira, Jose Alves Marques. Object Synchronizer. 2000
Irfan Pyarali, Tim Harrison, Douglas C. Schmidt, Thomas D. Jordan. Proactor. 2000
James O. Coplien. C++ Idioms. 2000
Jim Doble, Ken Auer. Smalltalk Scaffolding Patterns. 2000
James Noble, Charles Weir. High-Level and Process Patterns from the Memory Preservation Society: Patterns for Managing Limited Memory. 2000
Andy Carlson, Sharon Estepp, Martin Fowler. Temporal Patterns. 2000
Francis Anderson. A Collection of History Patterns. 2000
Joseph Yoder, Jeffrey Barcalow. Architectural Patterns for Enabling Application Security. 2000
Alexandre Braga, Cecilia Rubira, Ricardo Dahab. Tropyc: A Pattern Language for Cryptographic Object-Oriented Software. 2000
John Brant, Joseph Yoder. Creating Reports with Query Objects. 2000
Dragos-Anton Manolescu. Feature Extraction: A Pattern for Information Retrieval. 2000
Sherif M. Yacoub, Hany H. Ammar. Finite State Machine Patterns. 2000
Gustavo Rossi, Daniel Schwabe, Fernando Lyardet. Patterns for Designing Navigable Information Spaces. 2000
Jacob L. Cybulski, Tanya Linden. Composing Multimedia Artifacts for Reuse. 2000
Dwayne Towell. Display Maintenance: A Pattern Language. 2000
Robert Hanmer, Greg Stymfal. An Input and Output Pattern Language: Lessons from Telecommunications. 2000
Oscar Nierstrasz. Identify the Champion: An Organizational Pattern Language for Program Committees. 2000
James O. Coplien, Bobby Woolf. A Pattern Language for Writers' Workshops. 2000
Linda Rising. Customer Interaction Patterns. 2000
Paul Taylor. Capable, Productive, and Satisfied: Some Organizational Patterns for Protecting Productive People. 2000
Mike Beedle, Martine Devos, Yonat Sharon, Ken Schwaber, Jeff Sutherland. SCRUM: A Pattern Language for Hyperproductive Software Development. 2000
Brian Foote, Joseph Yoder. Big Ball of Mud. 2000

Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal.
A System of Patterns.
Wiley. 1996

Pattern-oriented software architecture is a new approach to software development. This book represents the progression and evolution of the pattern approach into a system of patterns capable of describing and documenting large-scale applications.

A pattern system provides, on one level, a pool of proven solutions to many recurring design problems. On another it shows how to combine individual patterns into heterogeneous structures and as such it can be used to facilitate a constructive development of software systems.

Uniquely, the patterns that are presented in this book span several levels of abstraction, from high-level architectural frameworks and medium-level design patterns to low-level idioms.

The intention of, and motivation for, this book is to support both novices and experts in software development. Novices will gain from the experience inherent in pattern descriptions and experts will hopefully make use of, add to, extend and modify patterns to tailor them to their own needs. None of the pattern descriptions are cast in stone and, just as they are borne from experience, it is expected that further use will feed in and refine individual patterns and produce an evolving system of patterns.