ABSTRACT
AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements are manifested in terms of better code locality, reusability, composability, and (un)pluggability.The degree of improvement in implementation modularity varies, with the greatest improvement coming when the pattern solution structure involves crosscutting of some form, including one object playing multiple roles, many objects playing one role, or an object playing roles in multiple pattern instances.
- Agerbo, E., Cornils, A. How to preserve the benefits of Design Patterns. Proceedings of OOPSLA 1998, pp. 134--143]] Google ScholarDigital Library
- Alexandrescu, A. Modern C++ Design: Generic Programming and Design Patterns Applied. Addison-Wesley, 2001]] Google ScholarDigital Library
- Baumer, D., Riehle, D., Siberski, W., and Wulf, M. Role Object Pattern. Proceedings of PLoP '97. Technical Report WUCS-97-34. Washington University Dept. of Computer Science, 1997]]Google Scholar
- Budinsky, F., Finnie, M., Yu, P., Vlissides, J. Automatic code generation from Design Patterns. IBM Systems Journal 35(2): 151--171]] Google ScholarDigital Library
- Coplien, J. O. Idioms and Patterns as Architectural Literature. IEEE Software Special Issue on Objects, Patterns, and Architectures, January 1997]] Google ScholarDigital Library
- Coplien, J. O. Software Design Patterns: Common Questions and Answers. In: Rising L., (Ed.), The Patterns Handbook: Techniques, Strategies, and Applications. Cambridge University Press, NY, January 1998, pp. 311--320]] Google ScholarDigital Library
- Florijn, G., Meijers, M., Winsen, P. van. Tool support for object-oriented patterns. Proceedings of ECOOP 1997]]Google Scholar
- Fowler M.: Dealing with roles. Proceedings of PLoP '97. Technical Report WUCS-97-34. Washington University Dept. of Computer Science, 1997]]Google Scholar
- Gamma, E. et al. Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994]] Google ScholarDigital Library
- Gil, J., Lorenz, D. H. Design Patterns vs. Language Design. ECOOP 1997 Workshop paper]] Google ScholarDigital Library
- Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., and Irwing, J. Aspect-Oriented Programming. Proceedings of ECOOP '97, Springer Verlag, pages 220--242, 1997]]Google ScholarCross Ref
- Kahne, T. A Functional Pattern System for Object-Oriented Design. Ph.D. Thesis, Darmstadt University of Technology, Verlag Dr. Kovac, ISBN 3-86064-770-9, July 1999]]Google Scholar
- Lauder, A., Kent, S. Precise Visual Specification of Design Patterns. Proceedings of ECOOP 1998]] Google ScholarDigital Library
- Lorenz, David H. Visitor Beans: An Aspect-Oriented Pattern. ECOOP 1998 Workshops, pages 431--432, 1998]] Google ScholarDigital Library
- Mapelsden, D., Hosking, J. and Grundy, J. Design Pattern Modelling and Instantiation using DPML. In Proceeding of TOOLS Pacific 2002, Sydney, Australia. Conferences in Research and Practice in Information Technology, 10. Noble, J. and Potter, J., Eds., ACS]] Google ScholarDigital Library
- Mikkonen, T. Formalizing Design Patterns. Proceedings of ICSE 1998, pp. 115--124]] Google ScholarDigital Library
- Nordberg, M. E. Aspect-Oriented Dependency Inversion. OOPSLA 2001 Workshop on Advanced Separation of Concerns in Object-Oriented Systems, October 2001]]Google Scholar
- Nordberg, M. E. Aspect-Oriented Indirection - Beyond Object-Oriented Design Patterns. OOPSLA 2001 Workshop "Beyond Design: Patterns (mis)used", October 2001]]Google Scholar
- Norvig, P. Design Patterns in Dynamic Programming. In: Object World 96, Boston MA, May 1996]]Google Scholar
- Sletten, B. Beyond Actions - A Semantically Rich Command Pattern for the Java Foundation Classes (JFC/Swing) API. Presentation at JavaOne 2002]]Google Scholar
- Soukup, J. Implementing Patterns. In: Coplien J. O., Schmidt, D. C. (eds.) Pattern Languages of Program Design. Addison Wesley 1995, pp. 395--412]] Google ScholarDigital Library
- Sullivan, G. T. Advanced Programming Language Features for Executable Design Patterns. Lab Memo, MIT Artificial Intelligence Laboratory, number AIM-2002-005, 2002]]Google Scholar
- Zimmer, W. Relationships Between Design Patterns. In: Coplien, J. O., Schmidt, D. C. (eds.) Pattern Languages of Program Design. Addison-Wesley, 1995, pp. 345--364]] Google ScholarDigital Library
- The AspectJ user mailing list. http://aspectj.org/pipermail/users/]]Google Scholar
- The AspectJ web site. http://www.aspectj.org]]Google Scholar
- The DemeterJ web site. http://www.ccs.neu.edu/research/demeter/DemeterJava/]]Google Scholar
- The Java web site. http://www.java.sun.com]]Google Scholar
Index Terms
- Design pattern implementation in Java and aspectJ
Recommendations
Modularizing design patterns with aspects: a quantitative study
AOSD '05: Proceedings of the 4th international conference on Aspect-oriented software developmentDesign patterns offer flexible solutions to common problems in software development. Recent studies have shown that several design patterns involve crosscutting concerns. Unfortunately, object-oriented (OO) abstractions are often not able to modularize ...
Design pattern implementation in Java and aspectJ
AspectJ implementations of the GoF design patterns show modularity improvements in 17 of 23 cases. These improvements are manifested in terms of better code locality, reusability, composability, and (un)pluggability.The degree of improvement in ...
Blending design patterns with aspects
HighlightsWe investigated the scalability of AOP for composing GoF design patterns.We study the benefits and drawbacks of AOP for composing GoF design patterns.Category of the pattern is a dominant factor impacting the pattern composability.Programming ...
Comments