Using mixins to build flexible widgets

  • Authors:
  • Richard Cardone;Adam Brown;Sean McDirmid;Calvin Lin

  • Affiliations:
  • University of Texas at Austin, Austin, TX;University of Texas at Austin, Austin, TX;University of Utah, Salt Lake City, UT;University of Texas at Austin, Austin, TX

  • Venue:
  • AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
  • Year:
  • 2002

Quantified Score

Hi-index 0.02

Visualization

Abstract

When it comes to software that runs on devices as varied as cell phones, PDAs and desktops, one size does not fit all. This paper describes how mixin layers, a kind of nested generic type, can be used to implement a graphical user interface library that can be configured to run on platforms with widely dissimilar capabilities. We describe the language support needed to incrementally build software in layers, and we describe how crosscutting concerns can be encapsulated within a layer. We then show how layers can be reconfigured to meet changing requirements. We also show how a new design pattern, the Sibling pattern, can be used with mixin layers to coordinate changes to multiple classes in the same inheritance hierarchy. When used appropriately, the Sibling pattern increases our ability to separate design concerns and to reuse code.