Chapter 10. Using Mixin Technology to Improve ModularityRICHARD CARDONE AND CALVIN LIN In object-oriented languages, aspects can be defined by generalizing the idea of a class to that of a mixin, a form of generic type. Mixins become aspects when they contain code for multiple classes. In this chapter, we describe mixins and explain how they can be used to define aspects. We demonstrate the flexibility of mixin programming by prototyping a graphical user interface library that can be configured to run on dissimilar devices. We also describe additional language and compiler support that increases the effectiveness of mixin programming. We conclude by proposing some new ideas about how mixins and generic types in general can be better supported in object-oriented languages. |