Using design patterns to reveal the competence of object-oriented methods in system-level design
This paper shows how Design Patterns may be used to reveal important properties of object-oriented development methods. The responsibility-driven and event-driven design methods are contrasted with a direct encoding of analysis models to show how these methods properly transform and layer systems. Each method elevates a different modularising principle: contract minimisation and existence dependency. Different design patterns, such as Mediator, Chain of Responsibility, Template Method Command and Composite emerge for each method, illustrating the particular bias and the different design decisions each makes about subsystems and modular structure.
design patterns existence dependency object-oriented design system layering subsystem identification responsibility-driven design (rdd) event-driven design (edd) minimisation of contracts