Designing components versus objects: a transformational approach
David H. Lorenz, John M. Vlissides · 2001
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 fundamen-tal design decisions in this model that are not a con-cern 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, im-pacts both design and the process of design. The results are not exclusive to JavaBeans—they can apply to any comparable component architecture.