Designing components versus objects: a transformational approach

  • Authors:
  • David H. Lorenz;John Vlissides

  • Affiliations:
  • Northeastern University, College of Computer Science, Boston, MA;IBM T.J. Watson Research Center P.O. Box 704 Yorktown Heights, NY

  • Venue:
  • ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

A good object-oriented design does not necessarily make a good component-based design, and vice versa. What design principles do components introduce? This paper examines component-based programming and how it expands the design space in the context of an event-based component architecture. We present a conceptual model for addressing new design issues these components afford, and we identify fundamental design decisions in this model that are not a concern in conventional object-oriented design. We use JavaBeans-based examples to illustrate concretely how expertise in component-based design, as embodied in a component taxonomy and implementation space, impacts both design and the process of design. The results are not exclusive to JavaBeans—they can apply to any comparable component architecture.