Components and objects
Author: Yu Jia
Email: jia_yu@263.net
[All rights reserved of any form of copying and reference must be licensed]
About component and objects, or component-based software engineering CBSE and object-oriented technology OT have been discussed, 1998, famous component expert brown, in the "THE CURRENT State of CBSE": "OT IS Neither Necessary Nor Sufficient (To CBSE) ". CBSE (ie CBD) will innovate system design, project management and organization form, improve and transcend the foundation of OT experience accumulated by the industry. With regard to the shortcomings of OT, Brown pointed out that a main feature of the component is its alternative, this feature must be clearly pointed out in contextuality, specifically, it must describe "Use (Use)" clauses must be described in the statute. OT in this area defect. About OT's necessity of CBSE, Brown pointed out that the non-OT can be created in practice, and some people specially pursue the components without OT.
This shows that INTERNAL DX believes that the component is an object-oriented application. It should be that the component technology is the development of object technology, and the component has stronger independence, closure, and reusability. Note that the term Component in the VCL and MFC is not a proprietary noun, but refers to the general vocabulary of "component" and "components".
The following statement is aware of "components" and "objects", some may be a one-sided, incorrect, please readers correct:
1. Components and objects are an abstract description of objective world entities, and their common feature is information hidden and certain independence. However, the component requirements are self-description, independence, and the object does not meet this requirement, and it is more "white box".
2. Essential differences of components and objects: The component is provided by the service, the object is provided, and the component interface describes the problem domain, and the object interface describes the Solution Domain.
3. Objects are instances of classes, objects are dynamic; some people say that components are static, they should correspond to classes; in fact, it can be seen, the components defined in the specific field architecture (DSSA) are static And the components integrated into the application system are dynamic, and some people have not seen some of them.
4. Access components and objects must be used through their interfaces and components, it is necessary to fully describe its semantics, the object does not do this, so the object needs another interface to become a component, so some people think that the component = Object Interface, I think this is just a sufficient condition of the component.
5. The implementation of the distributed object CORBA / DCOM / EJB is not a component, or is not only they are components. I think that the independence, closure, and isomeric requirements of components have strong communication. Ability, so third-party coordination is necessary, in particular these infrastructure plays such a role, in fact, they are not specifically designed for components, and their starting point is the purpose of "distribution". People are studying CBD integration / assembly because they have no other communication technologies, they naturally become components industry standards, I want to emphasize that component multiplexing can never use to indicate must be distributed (placed on the server), it is still Integrated / assembled technology. However, these standards are known to develop in the direction of components, such as CORBA CCM standards. Here I want to say a question, is why these standards say that it is a standard of middleware, I think it is still because of their heterogeneity ability and communication capabilities make them a class (message) conversion, interaction purposes. Software's powerful weapons, don't take middleories as components (now many domestic companies are saying this), or broaden the middleware to become a framework, which is not appropriate. 6. The interface of the component is a service provider's commitment to consumers: a contract; use a contract to ensure a combination of behavior between a component of a component. There is no such statement. Due to the persistence of the service, the service is a permanent storage object.
7. The particle size of the member is generally thicker, which may include one or more objects (or classes), and its interface is generally complicated than the object.
8. ……