Software Architecture and Design (9) ----- Component-Based Architecture

Component Based Architecture

Component-based architecture focuses on decomposing a design into independent functional or logical components that represent well-defined communication interfaces containing methods, events, and properties. It provides a higher level of abstraction and divides the problem into sub-problems, each associated with a component partition.

The main goal of component-based architecture is to ensure the reusability of components. Components encapsulate the functionality and behavior of software elements into reusable and self-deployable binary units. There are many standard component frameworks such as COM/DCOM, JavaBean, EJB, CORBA, .NET, Web Services and Grid Services. These technologies are widely used in native desktop GUI application design, such as graphical JavaBean components, MS ActiveX components and COM components, which can be reused by simple drag-and-drop operations.

Component oriented software design has many advantages over traditional object oriented approach such as −

  • Time to market and development costs are reduced by reusing existing components.

  • Improved reliability by reusing existing components.

What are components?

A component is a modular, portable, replaceable, and reusable set of well-defined functionality that encapsulates its implementation and exports it as a higher-level interface.

A component is a software object designed to interact with other components, encapsulating some functionality or set of functionality. It has a well-defined interface and adheres to recommended behavior common to all components in the architecture.

Software components can be defined as compositional units with contracted interfaces and explicit context dependencies. That is, software components can be deployed independently and composed by third parties.

component view

Components can have three different views - object-oriented view, regular view and process-related view.

Guess you like

Origin blog.csdn.net/LJX646566715/article/details/125808158