Computer systems science and engineering vol:14 issue:6 pages:343-352
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.