CBSE [24][32][102] focuses on reusability by separating functionality into reusable components. Communication between the components is achieved via defined interfaces, thus a component’s sole link to the framework is restricted to its interface. CBSE can be seen as an advancement of an object-oriented class approach, as components allow for a higher degree of abstraction.
Components are considered to be the building blocks of actual applications, therefore they need to be connected and executed appropriately to become an application. This is the task of the previously introduced frameworks (Section 1.3). The key advantage of such a component approach lies in the ability to reuse components for different applications, thus drastically reducing development time. Figure 3.1 schematically depicts CBSE.