Applying Aspect-Oriented Composition to Framework Development { A Case Study
Stefan Hanenberg, Robert Hirschfeld, Rainer Unland, Katsuya Kawamura · 2004
Object-oriented frameworks play an essential role in large-scale software projects. Frameworks let us beneflt from tested code which provides variation points that can be customized to address project speciflc needs. The way to adapt frameworks depends on the composition techniques ofiered by the underlying programming system. Traditionally, frameworks use inheritance as dominant adaptation technique. Unfortunately, since the inheritance mechanism of languages like Smalltalk or Java is quite limited, the way how frameworks can be customized is limited, too. Hence, the reusability of frameworks is restricted to situations anticipated by the framework designers where the variation points meet exactly the developers’ needs. Aspectoriented programming is a new paradigm that provides new composition techniques. This paper shows that some design decisions in framework construction to be made in the context of object-oriented development can be avoided by applying aspectoriented composition techniques addressing these issues only when required. With that, frameworks based on aspect-orientation allow us to access a larger variety of variation points, making these frameworks highly adaptable and reusable, addressing more unforeseen circumstances.