Enhancing object-based system composition through per-object mixins
Gustaf Neumann, Uwe Zdun · 2003
The management of complexity in large systems is traditionally focused on the modeling and management of classes and hierarchies of classes. In order to improve the compositional flexibility in large systems, this paper turns the focus on objects rather than classes. It demonstrates that a more powerful object system can ease the development of large systems and can improve the degree of code reuse. The paper introduces per-object mixins as a new object-level language construct for object-based system composition. Per-object mixins are implemented in the scripting language XOT/sub CL/ as a straightforward extension of its method chaining mechanism and enables the developer to mix classes into the precedence order of an arbitrary object. Per-object mixins can be used to implement state-specific behavior changes in a clean way. We present per-object mixins as a general approach to hide object specifics from client objects transparently.