The English name of the component is "component", also known as a component. In fact, the component is not a new concept, it is widely used in many mature engineering fields. For example, we assemble a computer, we do not have to understand the CPU, motherboard, CD-ROM and other accessories working principle, but only need to know how to assemble these parts together.
Component systems in the software industry are slower to develop than many other industries. In the early days of computer software development, an application system is often a separate application. With the increasing of the need of software and hardware, the application is more complicated, the program is bigger and the system development is more and more difficult.
From the point of view of software model, people want to divide the huge application into multiple modules, each module completes the independent function, and the modules work together. Such modules are called components. These components can be individually developed, compiled separately, tested separately, and all components are grouped together to obtain a complete system. Many people believe that future applications will take advantage of component implementations.
The modular software architecture has brought us great benefits. But to be able to create application systems by assembling existing components, we must address several key technical issues:
A standard way to standardize the positioning and use of components, which will greatly reduce the cost of personnel training, improve the generality of the component.
Provides a standard way to interoperate with objects. The exact location of the components and objects does not affect the way programmers are developed, nor does it preclude interaction between them, which is what we call "location transparency."
To facilitate the creation of a component's version. Software upgrades are flexible, and component updates do not adversely affect the operation of existing applications.
Provide security that meets the needs of the user.