Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 2nd international conference on Aspect-oriented software development
Object Teams: Improving Modularity for Crosscutting Collaborations
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
A Declarative Evolution Framework for Object-Oriented Design Patterns
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Java Reflection in Action (In Action series)
Java Reflection in Action (In Action series)
Refactoring to Patterns
Automatically discovering design patterns and assessing concern separations for applications
Proceedings of the 2006 ACM symposium on Applied computing
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
An illustrative example of refactoring object-oriented source code with aspect-oriented mechanisms
Software—Practice & Experience
Implementing design patterns in CaesarJ: an exploratory study
Proceedings of the 2008 AOSD workshop on Software engineering properties of languages and aspect technologies
AspectJ in Action: Enterprise AOP with Spring Applications
AspectJ in Action: Enterprise AOP with Spring Applications
A matrix-based approach to recovering design patterns
IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans
Transactions on Aspect-Oriented Software Development I
Hi-index | 0.00 |
Although solutions provided by design patterns are an invaluable resource for developers, some design patterns lead to placing code addressing design pattern concerns into the same class as application code. This weakens the modularity of an application because it makes classes more complex, more prone to changes and less reusable. In order to avoid the tangling of design pattern- and application-related code within classes, this paper proposes an approach for assisting the refactoring of an application that uses design patterns into an aspect-based version. This allows application classes, and aspects implementing design patterns, to stay independent of each other, thus greatly enhancing modularity. Developers intending to change the role of an application class need only update the code connecting it to the design pattern involved.