Linda Rising - Patterns Almanac 2000|
Based on the book "Patterns Almanac 2000" by Linda Rising. Web version by Charles Weir. Hosted by the Small Memory Software site. |
| Aarsten+95 | G++: A Pattern Language for Computer-Integrated Manufacturing |
| Aarsten+96a | Designing Concurrent and Distributed Control Systems |
| Aarsten+96b | Object-Oriented Design Patterns in Reactive Systems |
| Adams+96 | Fault-Tolerant Telecommunication System Patterns |
| Adams95 | Functionality Ala Carte |
| Alexander+75 | The Oregon Experiment |
| Alexander+77 | A Pattern Language |
| Alexander79 | The Timeless Way of Building |
| Alpert+98 | The Design Patterns Smalltalk Companion |
| Anderson99 | A Collection of History Patterns |
| Anthony96 | Patterns for Classroom Education |
| Auer95 | Reusability Through Self-Encapsulation |
| Auer+96 | Lazy Optimization: Patterns for Efficient Smalltalk Programming |
| Barkataki+98 | Reengineering A Legacy System Using Design Patterns and Ada-95 Object-Oriented Features |
| Bäumer+97 | Framework Development for Large Systems |
| Bäumer+98 | Product Trader |
| Bäumer+99 | The Role Object Pattern |
| Beck97 | Smalltalk Best Practice Patterns |
| Beedle+99 | Scrum: A Pattern Language for Hyperproductive Software Development |
| Berczuk95 | A Pattern for Separating Assembly and Processing |
| Berczuk96 | Organizational Multiplexing: Patterns for Processing Satellite Telemetry with Distributed Teams |
| Berczuk97 | Teamwork and Configuration Management |
| Boyd98a | Architecture Patterns for Business Systems |
| Boyd98b | Business Patterns of Association Objects |
| Bradac+98 | A Pattern Language for Developing Form Style Windows |
| Braga+99 | Tropyc: A Pattern Language for Cryptographic Software |
| Brant+99 | Creating Reports with Query Objects |
| Brown96 | Experiencing Patterns at the Design Level |
| Brown+96b | Crossing Chasms: A Pattern Language for Object-RDBMS Integration |
| Brown+96a | A Pattern Language for Smalltalk & Relational Databases |
| Buschmann95 | The Master-Slave Pattern |
| Buschmann96 | Reflection |
| Buschmann+96 | Pattern-Oriented Sofware Archicture--A System of Patterns |
| Cargill96 | Localized Ownership: Managing Dynamic Objects in C++ |
| Carlson99 | Essence |
| Carlson+99 | Temporal Patterns |
| Carmichael98 | Applying Analysis Patterns in a Component Architecture |
| Cerwin98 | Using the Mediator Design Pattern to Perform Multiplexing |
| Cleeland+98b | External Polymorphism |
| Cleeland+98a | External Polymorphism |
| Cockburn96 | Prioritizing Forces in Software Design |
| Cockburn98 | Surviving Object-Oriented Projects: A Manager's Guide |
| Coad95 | Object Models: Strategies, Patterns, & Applications |
| Coplien92 | Advanced C++ Programming Styles and Idioms |
| Coplien94a | Software Design Patterns: Common Questions and Answers |
| Coplien94b | Setting the Stage |
| Coplien95a | Curiously Recurring Template Patterns |
| Coplien95b | A Generative Development-Process Pattern Language |
| Coplien97 | A Pattern Language for Writers' Workshops |
| Coplien99a | More on the Geometry of C++ Objects, Part 1 |
| Coplien99b | More on the Geometry of C++ Objects, Part 2 |
| Coplien99c | C++ Idioms |
| Coplien99d | A Pattern Language for Writers' Workshops |
| Coram96 | Demo Prep: A Pattern Language for the Preparation of Software Demonstrations |
| Cunningham95 | CHECKS: A Pattern Language of Information Integrity |
| Cunningham96 | EPISODES: A Pattern Language of Competitive Development |
| Cybulski+99 | Composing Multimedia Artifacts for Reuse |
| Dagermo+98 | Development of an Object-Oriented Framework for Vessel Control Systems |
| DasNeves+98 | Bodyguard |
| DeBruler95 | A Generative Pattern Language for Distributed Processing |
| DeLano+98 | Patterns for System Testing |
| Doble96 | Shopper |
| Doble+99 | Smalltalk Scaffolding Patterns |
| Duell98 | Experience in Applying Design Patterns to Decouple Object Interactions in the Ingage? IP Prototype |
| Dyson+98 | State Patterns |
| Edwards95 | Streams: A Pattern for "Pull-Driven" Processing |
| Feiler+99 | Propagator: A Family of Patterns |
| Foote+95 | Life cycle and Refactoring Patterns that Support Evolution and Reuse |
| Foote+96 | Evolution, Architecture, and Metamorphosis |
| Foote+98 | The Selfish Class |
| Foote+99 | Big Ball of Mud |
| Foster+97 | A Pattern Language of Transport Systems (Point and Route) |
| Foster+98 | Modeling Transport Objects with Patterns |
| Foster+99 | Cascade |
| Fowler96 | Accountability and Organizational Structures |
| Fowler97 | Analysis Patterns |
| Fowler98 | Analysis Patterns |
| Gamma+95 | Design Patterns: Elements of Reusable Object-Oriented Systems |
| Gamma98 | Extension Object |
| Gamma+99 | JUnit: A Cook's Tour |
| Hanmer+99 | An Input and Output Pattern Language |
| Harrison96 | Organizational Patterns for Teams |
| Harrison98 | Patterns for Logging Diagnostic Messages |
| Hopley96 | Decision Deferral and Capture Pattern Language |
| Hüni+95 | A Framework for Network Protocol Software |
| Islam+96 | An Essential Design Pattern for Fault-Tolerant Distributed State Sharing |
| Jackson99 | EventHandler: The Chain of Responsibility Pattern without Cyclic Link Dependencies |
| Jain+97 | Dynamically Configuring Communication Services |
| Janoff98 | Organizational Patterns at AG Communication Systems |
| Johnson94a | Patterns of Thought: An Introduction to Patterns |
| Johnson94b | Patterns of Thought: How Patterns Work in Teams |
| Johnson95 | Patterns of Thought: Patterns and Frameworks |
| Johnson96 | Transactions and Accounts |
| Johnson+98 | Type Object |
| Keller+98a | A Pattern System for Network Management Interfaces |
| Keller+98b | Accessing Relational Databases |
| Kerth95 | Caterpillar's Fate: A Pattern Language for the Transformation from Analysis to Design |
| Kim+96 | Implementation Patterns for the Observer Pattern |
| Kircher+99 | DOVE: A Distributed Object Visualization Environment |
| Lavender+96 | Active Object: An Object Behavioral Pattern for Concurrent Programming |
| Lea95 | Christopher Alexander: An Introduction for Object-Oriented Designers |
| Lea00 | Concurrent Programming in Java, Second Edition: Design Principles and Patterns |
| Long99 | To Do Or Not To Do--That Is The Question |
| Manolescu99 | Feature Extraction--A Pattern for Information Retrieval |
| Martin95a | PLoP, PLoP, Fizz, Fizz |
| Martin95b | Discovering Patterns in Existing Applications |
| Martin95c | Button, Button, Who's Got the Button? |
| Martin98 | Acyclic Visitor |
| Martin+98 | Object-Oriented Methods: A Foundation |
| Masuda+98 | Applying Design Patterns to Decision Tree Learning System |
| McKenney96a | Selecting Locking Designs for Parallel Programs |
| McKenney96b | Selecting Locking Primitives for Parallel Programming |
| Meszaros95 | Pattern: Half-Object + Protocol (HOPP) |
| Meszaros96 | A Pattern Language for Improving the Capacity of Reactive Systems |
| Meszaros+98 | A Pattern Language for Pattern Writing |
| Metsker98 | The Judge Pattern: Ensuring the Relational Integrity of Objects |
| Meunier95 | The Pipes and Filters Architecture |
| Molin+98 | Points and Deviations: Pattern Language of Fire Alarm Systems |
| Mularz95 | Pattern-Based Integration Architectures |
| Nierstrasz99 | Identify the Champion |
| Noble+99 | High-Level and Process Patterns from the Memory Preservation Society |
| Noble99a | Basic Relationship Patterns |
| Noble99b | The Prototype-Based Object System Pattern |
| Nordberg98 | Default and Extrinsic Visitor |
| Orenstein96 | A Pattern Language for an Essay-Based Web Site |
| Olson98a | Patterns on the Fly |
| Olson98b | A Pocket-Sized Broker |
| Pang99 | A Pattern of Inheritance and Polymorphism for Persistent Objects Stored in a Relational Database |
| Peterson95 | Stars: A Pattern Language for Query-Optimized Schemas |
| PHand | The Patterns Handbook |
| Piehler99 | Adapting Observer for Event-Driven Design |
| PLoPD1 | Pattern Languages of Program Design |
| PLoPD2 | Pattern Languages of Program Design 2 |
| PLoPD3 | Pattern Languages of Program Design 3 |
| PLoPD4 | Pattern Languages of Program Design 4 |
| Portner95 | Flexible Command Interpreter: A Pattern for an Extensible and Language-Independent Interpreter System |
| Pree94 | Design Patterns for Object-Oriented Software Development |
| Price+99 | Using the Facade Pattern with CORBA |
| Pryce99 | Abstract Session |
| Pyarali+98 | Asynchronous Completion Token |
| Pyarali+99 | Proactor |
| Ramirez95 | A Design Patterns Experience Report |
| Ran95 | Patterns of Events |
| Ran96 | MOODS: Models for Object-Oriented Design of State |
| Riehle+95 | A Pattern Language for Tool Construction and Integration Based on the Tools and Materials Metaphor |
| Riehle96a | The Event Notification Pattern--Integrating Implicit Invocation with Object-Orientation |
| Riehle96b | Patterns for Encapsulating Class Trees |
| Riehle98 | Bureaucracy |
| Riehle+98 | Serializer |
| Rising99 | Customer Interaction Patterns |
| Roberts+98 | Patterns for Evolving Frameworks |
| Rohnert96 | The Proxy Design Pattern Revisited |
| Rossi+96 | Design Patterns for Object-Oriented Hypermedia Applications |
| Rossi+99 | Patterns for Designing Navigable Information Spaces |
| Rubel95 | Patterns for Generating a Layered Architecture |
| Sane+96a | Detachable Inspector/Removable cout: A Structural Pattern for Designing Transparent Layered Services |
| Sane+96b | Resource Exchanger: A Behavioral Pattern for Low-Overhead Concurrent Resource Management |
| Schmid95 | Creating the Architecture of a Manufacturing Framework by Design Patterns |
| Schmid96 | Creating Applications from Components: A Manufacturing Framework Design |
| Schmidt95 | Reactor: An Object Behavioral Pattern for Concurrent Event Demultiplexing and Event Handler Dispatching |
| Schmidt+95 | Using Design Patterns to Evolve System Software from Unix to Windows NT |
| Schmidt96a | A Family of Design Patterns for Flexibly Configuring Network Services in Distributed Systems |
| Schmidt96b | A Family of Design Patterns for Application-Level Gateways |
| Schmidt+96 | Half-Sync/Half-Async: An Architectural Pattern for Efficient and Well-Structured Concurrent I/O |
| Schmidt97 | Applying Design Patterns and Frameworks to Develop Object-Oriented Communication Software |
| Schmidt98a | Applying Design Patterns to Simplify Signal Handling |
| Schmidt98b | Acceptor and Connector |
| Schmidt+98 | Double-Checked Locking |
| Schmidt99 | Wrapper Facade |
| Schmidt+99 | Thread-Specific Storage for C/C++: An Object Behavioral Pattern for Accessing per-Thread State Efficiently |
| Selic98 | Recursive Control |
| Shaw95 | Patterns for Software Architectures |
| Shaw+96 | Software Architecture |
| Shaw96 | Some Patterns for Software Architectures |
| Silva+98 | Object Recovery |
| Silva+99 | Object Synchronizer: A Design Pattern for Object Synchronization |
| Sommerlad96 | Command Processor |
| Sommerlad+96 | The Client-Dispatcher-Server Design Pattern |
| Sommerlad98 | Manager |
| Soukup95 | Implementing Patterns |
| Spall98 | Panel States: A User Interface Design Pattern |
| Srinivasan99 | Design Patterns in Object-Oriented Frameworks |
| Subramanian+96 | Backup Pattern: Designing Redundancy in Object-Oriented Software |
| Taylor99 | Capable, Productive, and Satisfied |
| Towell95 | Request Screen Modification |
| Towell99 | Display Maintenance |
| VandenBroecke+97 | Using Design Patterns to Build a Framework for Multimedia Networking |
| Viljamaa95 | Client-Specified Self |
| Vlissides95 | Pattern Hatching--Perspectives from the `Gang of Four' |
| Vlissides98a | Pattern Hatching |
| Vlissides98b | Pluggable Factory, Part 1 |
| Vlissides99 | Pluggable Factory, Part 2 |
| Wake95 | Account Number: A Pattern |
| Wake+96 | Improving Responsiveness in Interactive Applications Using Queues |
| Wallingford98 | Sponsor-Selector |
| Weir98 | Patterns for Designing in Teams |
| White96 | Patterns and Java Class Libraries |
| Whitenack95 | RAPPeL: A Requirements-Analysis Process Pattern Language for Object-Oriented Development |
| Wirfs-Brock93 | Characterizing Your Objects |
| Wolf+95 | New Clients with Old Servers: A Pattern Language for Client/Server Frameworks |
| Woodward96 | Heading Off Tragedy: Using Design Patterns Against a Moving Target |
| Woolf95 | Understanding and Using the ValueModel Framework in VisualWorks Smalltalk |
| Woolf96 | Partitioning Smalltalk Code into ENVY/Developer Components |
| Woolf98 | Null Object |
| Woolf99a | The Abstract Class Pattern |
| Woolf99b | Object Recursion |
| Yacoub+99 | Finite State Machine Patterns |
| Yoder+99 | Architectural Patterns for Enabling Application Security |
| Zhang+96a | Financial Software Design Patterns |
| Zhang+96b | Financial Software Design Patterns |
| Zhang+96c | Financial Software Design Patterns |
| Zhao+98a | Driver Duty: A Pattern for Public Transport Systems |
| Zhao+98b | A Pattern Language of Transport Systems (Point and Route) |
| Zhao+99 | Driver Duty Constructor: A Pattern for Public Transport Systems |