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