Patterns have caught on as
a way of cataloguing object-oriented designs. There is an annual
conference on the subject, and this is the "proceedings" of the
first such conference. Chock full of interesting ideas ranging over
everything from single patterns to entire Pattern Languages, from a
Pattern for account numbers to Patterns for the entire analysis process or
even structuring a software development company, there is something useful
here for everyone.
The Patterns are grouped into the following categories:
Frameworks and Components
Systems and Distributed Processing
Business Objects
Process and Organization
Design Patterns and Catalogs
Architecture and Communication
Object Usage and Style
Events and Event Handlers
Contents
- Sam S. Adams. Functionality Ala Carte. 1995
- Give users better feed-back over simulations by using a "performance trade-off menu" showing the performance consequences of parameter choices
- Dirk Riehle, Heinz Zullighoven. A Pattern Language for tool construction and integration based on the Tools and Materials metaphor. 1995
- Norbert Portner. Flexible Command Interpreter: a Pattern for extensible and language-independent interpreter system. 1995
- Kirk Wolf, Chamond Liu. New Clients with Old Servers: a Pattern Language for Client/Server frameworks. 1995
- Dennis L. DeBruler. A generative Pattern Language for distributed processing. 1995
- A process for designing distributed systems
- Amund Aarsten, Gabriele Elia, Giuseppe Menga. G++: a Pattern Language for Computer-Integrated Manufacturing. 1995
- Hierarchies of control layers; controlling visibility and communication; granularity of concurrency
- Barry Rubel. Patterns for generating a layered architecture. 1995
- Using layers to capture the real world, the model of the real world, control of the model, and the operator interface
- Gerard Meszaros. Pattern: Half-object+Protocol [HOPP]. 1995
- Distributing a single object across two data spaces
- Frank Buschmann. The Master-Slave Pattern. 1995
- Replicated services for fault tolerance and robustness
- Ward Cunningham. The CHECKS Pattern Language of information integrity. 1995
- Separating good input from bad input
- William C. Wake. Account Number: a Pattern. 1995
- Stephen Peterson. Stars: a Pattern Language for query-optimised schemas. 1995
- Converting the data from an on-line transaction processing system to a format suitable for a decision support system
- James O. Coplien. A generative development-process Pattern Language. 1995
- Building, structuring, and growing a software development company
- Brian Foote, William F. Opdyke. Lifecycle and refactoring Patterns that support evolution and reuse. 1995
- Bruce G. Whitenack. RAPPeL: a requirements-analysis-process Pattern Language for object-oriented development. 1995
- Norman L. Kerth. Caterpillar's Fate: a Pattern language for the transformation from analysis and design. 1995
- Metamorphosing the analysis document into an initial software design
- Frank Buschmann, Regine Meunier. A System of Patterns. 1995
- Classifying Patterns according to granularity
(architectural, design, idiom), functionality (creation,
communication, access, complex tasks), and structure
(abstraction, encapsulation, separation, coupling)
- Walter Zimmer. Relationships between Design Patterns. 1995
- Categorising the relationships between the patterns in Design Patterns
- Robert C. Martin. Discovering Patterns in existing applications. 1995
- Summary of Patterns discovered in C++ code
- Jiri Soukup. Implementing Patterns. 1995
- Using explicit classes to capture design patterns in the implementation
- Stephen H. Edwards. A Pattern for "pull-driven" processing. 1995
- Streams
- Regine Meunier. The Pipes and Filters architecture. 1995
- Diane E. Mularz. Pattern-based integration architectures. 1995
- Integrating legacy assets and stand-alone off-the-shelf components
- Mary Shaw. Patterns for software architectures. 1995
- Bobby Woolf. Understanding and using the ValueModel framework in VisualWorks Smalltalk. 1995
- Panu Viljamaa. Client-specified Self. 1995
- Replace calls to self (or this) with an
argument, to allow a flexible form of delegation
- Ken Auer. Reusability through Self-encapsulation. 1995
- Encapsulating the state to protect subclasses from design decisions and changes, including idioms for initialisation and default values
- Stephen P. Berczuk. A Pattern for separating assembly and processing. 1995
- Separating the construction of objects from a data stream or packets, from the subsequent processing of the objects
- Douglas C. Schmidt. Reactor: an object behavioral Pattern for concurrent even demultiplexing and event handler dispatching. 1995
- Alexander S. Ran. Patterns of events. 1995
- Event-centred architectures
- Dwayne Towell. Request Screen Modification. 1995
- Updating the screen appearance of overlapping objects