4 research outputs found

    Understanding Design Patterns Density with Aspects: A Case Study in JHotDraw using AspectJ

    Get PDF
    International audienceDesign patterns offer solutions to common engineering prob- lems in programs [1]. In particular, they shape the evolution of program elements. However, their implementations tend to vanish in the code: thus it is hard to spot them and to understand their impact. The prob- lem becomes even more difficult with a "high density of pattern": then the program becomes easy to evolve in the direction allowed by patterns but hard to change [2]. Aspect languages offer new means to modular- ize elements. Implementations of object-oriented design patterns with AspectJ have been proposed [3]. We aim at testing the scalability of such solutions in the JHotDraw framework. We first explore the impact of density on pattern implementation. We show how AspectJ helps to reduce this impact. This unveils the principles of aspects and AspectJ to control pattern density

    Expression and Composition of Design Patterns with AspectJ

    Get PDF
    National audienceDesign patterns are well-known couples of problems-solutions for software engineer- ing. By nature, they often lack support from languages and this further complicates the study of their composition in the code. Aspect-oriented languages provide new mechanisms for modula- rization, which can help to improve design patterns implementation. (Hannemann et al., 2002) is the first extensive study of patterns aspectization with AspectJ. We notice some AspectJ idioms are needed in order to implement object relationships. We give a more reusable VISITOR pat- tern. We highlight a reusable composition of COMPOSITE and VISITOR patterns and expressive interactions of the OBSERVER pattern with a tree structure. We thus show that modularization by aspects helps composition of design patterns
    corecore