Pattern Languages of Program Design - 4

Basic Object-Oriented Patterns

1 Abstract Class
Bobby Woolf
5
2 Role Object
Dirk Baumer, Dirk Riehle, Wolf Siberski, and Martina Wulf
15
3 Essence
Andy Carlson
33
4 Object Recursion
Bobby Woolf
41
5 Prototype-Based Object System
James Noble
53
6 Basic Relationship Patterns
James Noble
73

Object-Oriented Infrastructure Patterns

7 Abstract Session: An Object Structured Pattern
Nat Pryce
95
8 Object Synchronizer
Antonio Rito Silva, Joao Pereira, and Jose Alves Marques
111
9 Proactor
Irfan Pyarali, Tim Harrison, Douglas C. Schmidt, and Thomas D. Jordan
133

Programming Strategies

10 C++ Idioms
James O. Coplien
167
11 Smalltalk Scaffolding Patterns
Jim Doble and Ken Auer
199
12 High-Level and Process Patterns from the Memory Preservation Society: Patterns for Managing Limited Memory 
James Noble and Charles Weir
221

Time

13 Temporal Patterns
Andy Carlson, Sharon Estepp, and Martin Fowler
241
14 A Collection of History Patterns
Francis Anderson
263

Security

15 Architectural Patterns for Enabling Application Security
Joseph Yoder and Jeffrey Barcalow
301
16 Tropyc: A Pattern Language for Cryptographic Object-Oriented Software
Alexandre Braga, Cecilia Rubira, and Ricardo Dahab
337

Domain-Oriented Patterns

17 Creating Reports with Query Objects
John Brant and Joseph Yoder
375
18 Feature Extraction: A Pattern for Information Retrieval
Dragos-Anton Manolescu
391
19 Finite State Machine Patterns
Sherif M. Yacoub and Hany H. Ammar
413

Patterns of Human-Computer Interaction

20 Patterns for Designing Navigable Information Spaces
Gustavo Rossi, Daniel Schwabe, and Fernando Lyardet
445
21 Composing Multimedia Artifacts for Reuse
Jacob L. Cybulski and Tanya Linden
461
22 Display Maintenance: A Pattern Language
Dwayne Towell
489
23 An Input and Output Pattern Language: Lessons from Telecommunications
Robert Hanmer and Greg Stymfal
503

Reviewing

24 Identify the Champion: An Organizational Pattern Language for Program Committees
Oscar Nierstrasz
539
25 A Pattern Language for Writers' Workshops
James O. Coplien with Bobby Woolf
557

Managing Software

26 Customer Interaction Patterns
Linda Rising
585
27 Capable, Productive, and Satisfied: Some Organizational Patterns for Protecting Productive People
Paul Taylor
611
28 SCRUM: A Pattern Language for Hyperproductive Software Development
Mike Beedle, Martine Devos, Yonat Sharon, Ken Schwaber, and Jeff Sutherland
637
29 Big Ball of Mud
Brian Foote and Joseph Yoder
653