Component-Oriented Programming enables programs to be constructed from prebuilt software components, which are reusable, self-contained blocks of computer code.These components have to follow certain predefined standards including interface, connections, versioning and deployment.
Components come in all shapes and sizes, ranging from small application components that can be trated online through components brokerages to the so-called large grain components that contain extensive functionality and include a company’s business logic. In principle, every component is reusable independent of context, that is to say, it should be ready to use whatever from wherever.
COP is to develop software by assembling components. While OOP emphasizes classes and objects, COP emphasizes interfaces and composition. In this sense, we could say that COP is an interface-based programming. Clients in COP do not need any knowledge of how a component implements its interface. As long as interfaces remain unchanged, clients are not affected by changes in interface implementions.
Andy Ju An Wang – Component- Oriented Programming