Premium
Implementing design patterns in Object Teams
Author(s) -
Monteiro Miguel P.,
Gomes João
Publication year - 2013
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.2154
Subject(s) - aspectj , modularity (biology) , computer science , reusability , java , implementation , programming language , object oriented programming , reuse , software design pattern , aspect oriented programming , object (grammar) , extensibility , method , locality , software engineering , artificial intelligence , engineering , software , linguistics , philosophy , biology , genetics , waste management
SUMMARY This paper presents a study of the support for modularity of Object Teams, an aspect‐oriented language backwards compatible with Java. The study is based on implementations in Object Teams of two complete collections of the Gang‐of‐Four design patterns. An analysis of the implementations is provided, in terms of advantages of Object Teams over Java with respect to modularity, module composition and reuse. We present a systematic comparison with a functionally equivalent collection of implementations in AspectJ, regarding five modularity properties: locality, reusability, composition transparency, (un)pluggability and extensibility. Object Teams yields broadly comparable results in terms of the first four properties. Object Teams yields better results as regards flexible module extensibility, composition at the instance level and enclosing multiple pattern participants into a larger, cohesive module. AspectJ is more successful than Object Teams in the Singleton pattern because of its ability to intercept constructor events. Copyright © 2012 John Wiley & Sons, Ltd.