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.
Search the almanac:

search tips sitemap

The following are summaries by Linda Rising of the major software pattern books and papers published prior to 2000.
Enjoy browsing!

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