Talents: an environment for dynamically composing units of reuse. (9th October 2012) - Ressia, Jorge; Gîrba, Tudor; Nierstrasz, Oscar; Perin, Fabrizio; Renggli, Lukas; Plantec, A.; Lagadec, L.
SUMMARY Reuse in object‐oriented languages typically focuses on inheritance. Numerous techniques have been developed to provide finer‐grained reuse of methods, such as flavors, mixins, and traits. These techniques, however, only deal with reuse at the level of classes. Class‐based reuse is inherently static. Increasing use of reflection and meta‐programming techniques in real‐world applications underlines the need for more dynamic approaches. New approaches have shifted to object‐specific reuse. However, these techniques fail to provide a complete solution to the composition issues arising during reuse. We propose a new approach that deals with reuse at the object level and that supports behavioral and state composition. We introduce a new abstraction called a talent that models features that are shared between objects of different class hierarchies. Talents provide a composition mechanism that is as flexible as that of traits but that is dynamic. Copyright © 2012 John Wiley & Sons, Ltd.