Implementing the 23 Gang-of-Four design patterns in the aspectoriented programming language Object Teams/Java (OT/J) yields modularity and reusability results roughly comparable to those obtained in a similar study of AspectJ, though not in the same exact set of patterns. Due to differences in composition mechanisms, the two languages seem complementary rather than overlapping. AspectJ is clearly superior to OT/J in terms of quantification capability while OT/J is clearly superior to AspectJ as regards extensibility of pattern modules. Categories and Subject Descriptors D.2.11 [Software Engineering] Software Architectures – information hiding, languages and patterns. D.3.3 [Programming Languages]: Language Contructs and Features – classes and objects, patterns and polymorphism. General Terms Design, Languages. Keywords Aspect-oriented programming, modularity, design patterns.
João L. Gomes, Miguel P. Monteiro