Developer on Alibaba Coud: Build your first app with APIs, SDKs, and tutorials on the Alibaba Cloud. Read more ＞
I. Overview PC hardware has undergone numerous changes since its birth, and its CPU has only been around for more than a decade since its original INTEL8086. Microsoft's WINDOWS operating system has been the OS with the largest installation volume on the desktop system since the first version of 1.0 and now is about to launch WIN2000. As a software developer, visual Basi I is used as an overview.
Since PC was born, the hardware has undergone numerous changes, from INTEL 8086
Currently, PIII Street is only used for more than a decade. Microsoft's WINDOWS operating system
WIN2000, which is about to be launched in version 1.0, has always been the OS with the largest installation volume on the desktop system.
As a software developer, it uses the Visual Basic, Visual C ++, and Delphi packages.
Many development environments, including the latest Borland C ++ builder, are developed for WINDOWS.
Application. It should be said that the current development conditions have greatly improved over a few years ago.
If you have developed a 16-bit WINDOWS program, you may know that to read a file
We had to use a small assembly to call the DOS routine, or the use of WINDOWS was not made public at the time.
Function: _ lopen (). In the win32 environment, all you have to do is call
: CreateFile ().
Things, you can do it more easily. But in general, programmers still have to start from scratch
Start writing every line of code for the application.
But this situation has changed: Microsoft proposed c o m (Component Object Model,
Can also be translated as "Component Object Model ").
And WIN NT4 are more and more widely used: We have reason to believe that in the near future, C O M
It will become the most common way to build applications. if you are interested in this technology, please refer to this
Hope you can learn what you want to know. If you are a c o m veteran, welcome.
Your criticism and correction
This article is intended for C ++ programmers. When introducing the concept, I try not to use the WIN32 API
So that you can see the essence of c o m more clearly. All examples are
Compiled using Microsoft Visual C ++ 5 (SP3.
Generally, an application is always composed of a single binary file. In the past, if
This program needs to make some improvements, it needs to modify the source code, then compile, claim the new file,
Then replace the original file. Now, let's look at the problem from a completely new perspective:
The entire EXE executable file can be separated successfully, but the parts are relatively independent.
Together to form a program and software. After future programs are released
You only need to replace the problematic or upgraded component. Even
You can replace the components without affecting the normal operation of the program. If you are familiar
WINDOWS programming, you may think: DLL seems to be what you say: can be dynamic, dynamic
Status connection. In fact, COM makes full use of the flexibility of Win32 DLL.
What are the advantages of doing so? First, users generally want to customize the applications they use,
In essence, component technology can be customized, so users can use it to better meet their needs.
To replace the original component. Secondly, because components are independent from applications
Parts, we can use the same component in different programs without any problems, soft
The reusability of parts will be greatly enhanced. Third, as network bandwidth and its importance increase,
Distributed network applications undoubtedly become an increasingly important part of the software market. Components
Price structure can simplify the process of developing such applications.
So what is COM? It is a specification that describes how to establish dynamically changeable components.
He defines some customers (a term, a program that requires a certain component) to ensure interoperability)
The standard that a component must follow. The COM standard is a set of documents that set standards for the component architecture.
Specification. COM is published in the format of win32 dynamic link library (DLL) or executable files.
(EXE) form of executable code composition.
COM components are dynamically connected, and COM components are completely language-independent. At the same time, the COM group
Parts can be released in binary format. The COM component can be upgraded without interfering with old customers.
To a new version.
You can now think that some services provided by COM are similar to classes in C ++. However, the class is the base
In the source code, COM is not. However, here we need to clarify some false ideas about COM: first,
COM is not a computer language. Comparing COM with a computer language (such as C ++ and VB) is
Meaningless. Second, do not compare the DLL with COM, because the COM technology uses
DLL's dynamic link capability can be achieved, but now the general point of view is that using DLL dynamic
The best way to connect is COM.
This article is an English version of an article which is originally in the Chinese language on aliyun.com and is provided for information purposes only. This website makes no representation or warranty of any kind, either expressed or implied, as to the accuracy, completeness ownership or
reliability of the article or any translations thereof. If you have any concerns or complaints relating to the article, please send an email, providing a detailed description of the concern or
complaint, to email@example.com. A staff member will contact you within 5 working days. Once verified, infringing content will be removed immediately.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
and provide relevant evidence. A staff member will contact you within 5 working days.