Now that the initial rave about patterns is over, it is time to revisit and reflect upon the notion of patterns itself. Not to present yet another pattern definition, or to correct existing ones. Instead we present and discuss the insights about patterns which we gained over the past four years, after publishing A System of Patterns and Patterns for Concurrent and Networked Objects. These insights complement existing pattern definitions and thus help with understanding patterns at a deeper level.
Using patterns in a real-world project requires more than detailed guidelines for their implementation. Several issues are not addressed. For example, how to integrate a pattern into a partially existing design? Complementary to pattern-specific implementation guidelines we therefore need general guidelines for applying patterns. `Applying Patterns' helps us to use patterns for software architecture effectively for two reasons. First it considers both human and technical aspects of software development and using patterns. Second, it complements and completes existing software development processes and methods with pattern-specific steps and aspects. Thus, as concrete patterns for software architecture are a pragmatic approach to resolve concrete design problems, `Applying Patterns' provides a pragmatic approach for integrating the use of patterns with existing software engineering practise.
The Real-time Constraints as Strategies design pattern decouples real-time specific constraints and behavior from the application service to which they apply. The application service is provided by a service class. Real-time related aspects are delegated to strategies, which implement these in a system-specific manner.
Back to POSA2 patterns home page.