Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
First international workshop on the modeling and analysis of concerns in software (MACS 2005)
Proceedings of the 27th international conference on Software engineering
A two-dimensional separation of concerns for compiler construction
Proceedings of the 2005 ACM symposium on Applied computing
Hi-index | 0.00 |
Design patterns are applied in software development to decouple individual concerns, so that a change in a design decision is isolated to one location of the code base. However, multi-dimensional concerns exist in software development and some concerns are even mutually exclusive. Therefore, no single design pattern offers a panacea toward addressing problems of change evolution. By analyzing the matrix of concerns during the software development process, this abstract describes a paradigm for two-dimensional separation of concerns based on pattern transformation. In particular, it shows an example to transform code back and forth between an object-oriented implementation of the Inheritance pattern and an aspect-oriented implementation of the Visitor pattern. The approach allows the same software to be evolved along different dimensions, enabling developers to choose the most appropriate dimension for a given task.