Design pattern implementation in Java and aspectJ

Jan Hannemann, Gregor Kiczales
2002 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications - OOPSLA '02  
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.
doi:10.1145/582419.582436 dblp:conf/oopsla/HannemannK02 fatcat:tj2uu4o47rd5zp2xrd366kn2l4