From to COM
-
Hou Jie
Summary:
This article introduces the basic concept of C Object Model and Component Object Model, and introduce
Four books:
INSIDE THE C Object Model
2. Essential COM
3. INSIDE COM
4. Understanding ActiveX and OLE - A Guide for Developers & Managers
For nearly 8 years, I will extends myself in the field of Windows, indulge in learning and research. I should
It is one of the lucky groups. In the age of PC software industry, step by step seizes technology.
Come. My ticket engineer, because of the post, but also to complete the project all day long
It can be obtained, it is really difficult to predict the time of experience, and the time of charging. There is a friend who is bitter from the overall technology
When the end of the wrong season, he said that if you can learn from step by step, how good it is! Another reader write
Let me say to me: I am immersed in the book. The taste is really a mood.
Unfortunately, the world will not wait for us. We have only taken the "Jumping Island Strategy".
In such a technological study in such a year, I feel like playing pictures. Started in the program,
The system ends, including C, C , Java, SDK, MFC, VXD, Win32 OS, Multithreading
, C STL, Internet Protocol .... I am looking forward to this puzzle, I feel all the changes in the outside world.
Almost in my hand in my hand. Regardless of the new development of the object orientation language,
What appl framework, or what new Driver Model, new protocol, I
I feel that because of the basic knowledge, it can be used by the class, and it is reversed in three. Even if you change one
I don't think I don't think of Processes, Threads, Modules, Address Space,
Executable File Format has made me easily easily. Yes, I feel
An unprecedented setting.
Then I examine my technical blueprint, I found that there was a blank without filling. That is actually a dream over the years.
What is called ole. The thing is growing from the world, constantly growing, and it has been like the big tree. it does not
However, the COM underlying architecture is divided, and more qualitants are added to the Internet in the Internet.
TIVEX.
In the past, I also had a lot of effort in the ole, and even some seem to have a good time.
Result. I often see the secret eyebrows and use when reviewing OLE books read before.
Word and PowerPoint have exquisite experience, and some of the duty, surprisingly found
I have also been drilled into such an extent. However, after a moment of intoxication, the heart is deep.
A small sound is asked to ask yourself: Why do you forget now?
● Know how to Know Why
Just like the supplement of calcium, it is important to absorb much, and how much is left. I have been forgotten repeatedly.
The COM / OLE technology is probably, I have not solidly set the relevant knowledge.
. I may learn a lot of how, but I don't know why. I don't have a way for the principle.
Keep the nourishment I absorbed.
This is abbreviated with the spirit of the research. But looking for a long time, I didn't find the ideal literature, and I can explain OLE (in fact, COM). I don't even know if I really have that.
Articles or books. In fact, I only need the most rooted part. I realized the most rooted part, I will be able to
Strength of yourself.
In a very accidental situation, I made two books, I finally integrated the advice to find out for the search.
thing.
It is accidental, why is it not guided by the peripheral knowledge of the month?
● Two good books
I have said two books are INSIDE THE COM. Please note
They are all talking Object Model, one for C , one for Components (Software Components)
).
In the past few years, I have had a lot of interest in the layout of C Objects in the memory, but also organize the virtual machine.
Some experiences in the underlying construction (I didn't know this knowledge field "at the time, I didn't know this knowledge field known as C Object Mode
l). So when I looked at INSIDE THE C Object Model three or two pages, Intuitive tells me, this is
It is a book I have always wish to have. In fact, it has been published for two years, I really have learned!
At the same time of the previous book, I also got the latest published Essential COM. The first two chapters of this book
The "why" of COM is exactly what I need. I feel that I need "why I need com" this topic needed
In the technical background, a lot is the range covered by C Object Model. And ESSENT
IAL COM's Don Box actually recommends INSIDE THE CET in the 16th page of the book.
Object Model book. Is this not enough? I have the recommendation and Don Box recommendation,
Two-section and happiness are difficult to describe.
This time, let me lay a from C Object Model to Component Object Mod.
The Avenue of EL.
● Overtar
I am afraid I have to use an inverted way to make you clear (and identify), why is learning the advertisement?
COM-independent of the language, but there is a very deep structure of a C language (belonging to the compiler)
Hierarchical basis.
Seriously think about this question: There are mfc20.dll, mfc40.dll, mfc41.dl in my hard disk.
L, mfc42.dll, mfc50.dll ..., why? I am too lazy to organize because of the version update.
Hard disc. Now I think, I saw it, but I dare to cut off them, just keep the latest version? I
Don't dare, because I am not sure which version of the application software uses DLLs. I would rather spend more spells.
Space to place all historical traces - anyway, hard disc is cheap!
A avoiding method is that do not use DLLS with DLLS, use a static connection (Stat
IC lineing) Forget! This is the best portrayal of "scrap food". Have this idea, I will walk into history.
The reaction. To know, DLLS is a reusable module, not necessarily because of the client.
The change is recompiled. In the opposite direction, if the DLL does not have to reconnect with the client (if the interface is not changed). Do not use DLLS, each application software will become a super big fat man, this is
One of the problems. Do not use DLLS, the development process of applying software will suffer significant hindrance, serious waste
Resources (especially memory), this is the two problems.
So the software engineers decided to continue using DLLs. Suppose I have a batch of DLL 1.0, decided to repair it after one year.
Change a Class, plus a private data. DLL 2 with 1.0
.0 is installed into the user's hard drive, the old DLL is overwritten. For new applications (DLL 2.0
The caller), this is certainly no problem. But when those applications that originally called DLL 1.0 are executed
The system may be changing!
why? Does C not support data package? Does the new DLL information are not private? Client
Never I can't access the information directly! Although the words are good, C is always on Private and PR.
OTECTED two reserved words provide language packages and do not provide binary levels (Binary Level
Package. The C compiler must have a complete master of the physical layout of the object (the mastery of the binary)
There is only a way to create an object entity; the above example has changed a private information to change
The entity's memory layout, the old Client call new DLL, huh, huh, improper is luck!
The solution is the current "Different DLL file represents different versions", like Microsof.
T is the same as what Visual C , Visual Basic. This is a saw arrow, avoided
Question, but there is no problem solving.
● Binary Level
Really to solve this problem, you must let the DLL of this end don't have to cause the Client end
Any variation. Real package, you must put "items like what" "and" how the object actually works.
It is completely separated. This principle is in a general C Object binary level (Bineary Leve
L) Unable to implement (why? Saying the length, this belongs to the category of C Object Model). But if
If we convert the original C Class to an Interface Class and a Implementat
The combination of Ion Class can do. The Implementation Class appears in the form of a DLL.
The interface class becomes a basic category of the Implementation Class, there is no
Data MEMBERS, only to open the Implementation Class Methods
Filler announcement. You guessed, these declarations are designed as pure virtual fifth. The pure virtual function is not
The only way is best practicing.
Interface Class is responsible for linking to Client and Object DLL (IMPLEMEN)
A fire lane between TATION CLASS, complete the so-called binary package!
In addition to the mild version of the conflict, another question is to be resolved. Since the C manufacturers have different practices for MANGLING (Vienname modified), there is no standard, Classes made in C platform A
DLL does not guarantee that it can be used in C platform B. The above put interface and importation
Separate processes can solve the problem of so-called compilers. Also, for Runtime Polymor
Phism is also helpful for Object Extensibility.
● So-called Components
Strive to be the so-called Objects that is protected by two-in-one anti-risley, and exempt from Name Mangling troubles.
Components. It is not limited to which C compiler to use, is not limited to which one is
Seedic language. In fact, Component Object Model is a specification, but this specification is the most
Purchase close to the C virtual fifth. SYSTEM Object Model in the same type
SOM) and Common Object Request Broker Architecture (CORBA).
I think you have already seen it, you have to know COM, only to learn about "why you need COM." To understand
What do you need com ", you must first understand why" C (or any current language) can't do it. " and
To understand why "C can't do it", you must understand what is "C object model".
■ Inside THE C Object Model
Author: Stanley B. Lippman
Publishing company: Addison Wesley
Publishing Date: 1996 Pages: 7 chapters, 280 pages
Sell Price: There is no marking on the book (this book is no magneto)
Object Lessons
2. The Semantics of Constructors
3. The Semantics of Data
4. The Semantics of Function
5. Semantics of Construction, Destruction, And Copy
6. Runtime Semantics
7. On The Cusp of the Object Model
In the book heap of C into the sea, this is not infant milk powder, nor a larger baby milk powder.
It is a special low-fat high calcium special milk powder for adults.
I used to add some of C Objects in several C courses or MFC courses.
Digital image in memory and field layout, as well as the actual technology of virtual functions, the category
Part of the content, hidden THIS indicators ... etc., Very popular. These reactions don't take me
Expected: Engineers are eager to know what the bottom is.
Many people doubt why I know these underlying knowledge (some people think that I have a Microsof in the early years.
T or other company's back door pipeline - this is my friend listening to the lecturer in a technical seminar
In public). Part of these knowledge is from a wide variety of technical documents or a book or some article
It is obtained from the discontinuation of the discontinuation, and one is the actual write point of the small-range test.
I am a contour of the C object model in the way in the way, and it is very shallow. This INSIDE THE C Object Model did not discover at the end of 1997, which complete his shortcomings
Complete.
This appearance is inconspicuous, thin and narrow, much smaller than the large size of the general original text. Dry and thin
Skin, only 280 pages. "Condo" cover design plus micro-yellow paper, I can't afford me how much
interest. But the author's great name made me more about two eyes (Lippman has C Primer, with Bjarn
E Stroustrup's THE C Programming Language is already the third edition). This
I can't see it, I started a bit of "Irouting Poetry". Later in Essential COM
See Don Box recommended this book: "... Consult Stan Lippman's Most Excellent INS
Ide the C Object Model for a Great Discussion of Both Techniqies. "I
Agree to Don Box, this book is indeed "MOST Excellect".
This book is returned, not only the appearance, but also the same. The so-called C object model, the smelling
As if and what OOA / OOD is related. Lippman talked about its preface that the C object model has two cuts.
Addition:
1. Direct support for the object guidance design provided by the language
The Direct Support for Object-Oriented Programming Provided Withnin
Language
2. Used to achieve the underlying mechanism of the above support
The underlying mechanisms by Which this support is mentioned
This book is talking about the second entry point. If you have interested interest in the composition of objects and materials, the first chapter
Data of Object and Chapter 3 must be satisfied. Regardless of the way of inheritance is Virtual, Si
NGLE or MULTIPLE, the data attribute is Static, Global or LOCAL, this two chapters have a discussion
And in the key at the picture. If this part does not say in a picture, it is not worthy of my recommendation.
After all, it is necessary to conceive the layout of the data field from the text narrative, and they are committed to being too hard. This book is an intention
From the perspective of aesthetics, you can use "ugly" to describe, but it is enough to show the author's mind,
I can think about it.
If you have a few basic member functions such as Default Constructor, Copy Constructor, VI
RTUAL DESTRUCTOR, as well as under various types of functions such as Global, Virtual, Static
Interest, Chapter 2 of the Constructor, Chapter 4 of Function, and Chapter 5 "Construction,
Deconstruction and copying can definitely meet you. Chapter 6 Renew the Form, and talk about New and Delete two transport
operator. Chapter 7 Talking about the three extensions of C : Template, Exception, Runtime Type Ident
Ification (RTTI).
For each subject, Lippman covers the origin of the design, the evolution of the version, and both standards and practices.
The practice is proposed to propose the efficiency test results of different platforms (Platform) on certain topics. This book is basically written in a more academic way, so it is very much in terms of processing of data and the finishing of the test materials.
fine.
Speaking of academics, it should be a rigorous synonym. But this book has a pen error of about 100. I don't dare to mess
Said that Mr. Hou Junjie is translated by this book, he ranked a textured error, densely numb. one of them
C obvious syntax errors, compared to nobody, the killing power is limited, however the image symbol name is
The text narrative is inconsistent, or the diagram of the layout of the object layout is inconsistent with the declaration of the program code, which will seriously mislead readers.
Cardship. With this view, it is true, although there is beef everywhere, but some parts of cooking level,
Really damaged Lippman's reputation.
The thickness of the 280 page is like a tall dish with a full-time meal in the eight hundred pages of thousands of children today. But
Spicy, not practicing, not easy to cut. This is not a book of C beginners, for no items
Pressure, no test pressure, people with spiritual spirit, Hou Jie strongly recommended.
■ Essential COM
Author: Don Box
Publishing company: Addison Wesley
Publishing date: 1998
Pages: 7 chapters, 440 pages
Sell Price: US $ 34.95 (no magnetic sheet)
COM AS A Better C
2. Interfaces
3. Classes
4. Objects
5. Apartments
6. Applications
7. Miscellanea
A. The Evolution of Objects
B. SELECTED code FRAGEMENTS
All software engineers who have a life in the Microsoft platform, no one knows COM / OLE / ACTIVE
The importance of x, no one does not want to understand and skilful this technology. There is no good book, such as I
NSIDE OLE (Fraig Brockschmidt / Microsoft Press / 1995) is almost every related
It is a classic to Bibliography or Reference. But the book is very similar to a "there are many"
The words of the word ", Hou Jie also climbed very hard.
For the reason, the early family is not enough for Object Model, and learning COM / OLE is very hard.
Slowly, everyone's books are much more, and use C / OO in actual development work, there are some experiences, then learn
Xi CoM / OLE, compare can get better.
Another reason is that COM can be pulled by the dragon to a good book, and it has been in place. I can't
Say that there is no such book, maybe it's a lonely. The crowd is looking for it thousands of Baidu, now it is coming, it is this
This Essential COM.
● About DON BOX
Author Don Box can be said to be famous in this area of COM / OLE. He in Microsoft Systems
Journal (MSJ) host an ActiveX / COM Q & A column, which has long revealed outstanding strength. yield
I have two sequences of this book to give you a praise for Don Box. You are right, what is the preface?
The author's, happy family, but you can still feel the hurt and sincerely recommended between the words.
Differences between:
The first sequence: Charlie Kindel Com Guy, Microsoft Corporation If there is a book talk about com, DCOM, OLE or ACTIVEX, and I also read it, you almost
You will definitely find that my name is listed in the technical review column, as a reputation guarantee. I have written a lot myself.
This technical article, I am also the main editor of COM Specification. I have given countless
COM newsletter, regardless of the subject, technical personnel or non-technical personnel. Obviously, I spent a lot of time and energy
Attempting to find the best explanation method for COM.
When I read this book's final draft, I understand that all my efforts are in white. About COM, no
Who can explain better than Don Box!
Second sequence: grady booch
If there is too much book, it is worth mentioning twice. This is why DON this book has two orders.
because.
If you are building a system on Windows 95 or NT, you can't stay away from COM. If you
Want (1) understand what happens under the countertop (2) The power of using COM, this book is suitable for this book.
you.
I especially like this book is that Don is an organization mode when describing COM. If you read this book, you
If you don't know about COM, you will be guided by a clear and simple COM concept pattern, so you understand the problem.
The reason why COM is to obtain its structure and behavior. If you are an experienced COM
Developers, then you will especially appreciate that DON is solved with COM to solve some common problems.
Angle discussion.
Note that the penalty of the second order is Grady Booch, and the global object is guided by the masters.
● Why is COM
The full name of COM is Component Object Model, which is Microsoft to solve the conflict of soft version, the object is cross
Platform conflicts ... etc .; an object model designed and mainly pushed. It is a specification, while C
Abstract categories are close to this specification with virtual functions.
I believe that in learning how to use COM / OLE technology, everyone's doubt is the same: Why do you have
COM? Yes, it is said that the object-oriented technology, C is not provided with item package, inheritance, and multi-type characteristics.
Yet? What COM is coming?
The first chapter of this book allows you to clear your COM's design motivation, including Interface, Reference Count,
CreateObject .... As long as you know the C language, in the form, it is not difficult to see this chapter. Such as
If you have the foundation of C Object Model, the first chapter can give you a feeling of 醍醐.
The second chapter introduces COM Interfaces. A Virtual that the author has evolved in the previous chapter
Base Class At this time, the Base Class changed to become a functional pair COM iUnknown interface. This chapter
Shao IDL (an Interface Description Language), MIDL (a set of IDL compilers), GUID
(A 128-bit number that is not repeated by hundreds of millions of years), HRESULT (any platform for universal
Return type), IUNKNOWN (foundation of all COM Interfaces). Due to many COM PROGRA
Mmer cannot just call iUnknown's addRef and Release two-card, Don Box
Specially organized a good top ten Code, and provide an example to tell the reader which Code that is applicable. Very intimate!
The third chapter begins, this book will go in the direction of deep. At this time, I suggest you jump first and another book: Inside
COM, then turn back to continue to look at the chapter.
This book uses the word comparative academic (I mean hard). This will make unhefertable readers in the attack
The degree is blocked. Please pay special attention to the first two chapters, they are the key to learning COM. These two chapters have a system
Wave around an example, step by step. Unfortunately, this book is not attached to each level code in phases.
Abstract basic category design begins, then INTERFACE and IMPLEMentation separation, DLL
Join, Reference Counting Design, QueryInterface Design ...). I am strong
It is recommended that you have the desire and spirit of the actual, and the instructions in the book are close to COM. This is you
I may have a bitterness because I have not given all your information (such as the design of the Console DLL ..,
Basically, it is your necessary basis). Maybe you will be able to enter a small level, you can't get it.
. But in any case, you must try to do so, there will be the most practical gain. This is my real person.
This book-related program code can be obtained from Don Box's website, but does not include the COM mentioned above.
Each development phase of the backbone is actually used.
■ INSIDE COM
Author: Dale Rogerson
Publishing company: Microsoft Press
Publishing date: 1996
Pages: 12 chapters, 376 pages
Sell Price: US $ 34.99 (including CD)
COMPONENTS
2. The interfaces
3. QueryInterface
4. Reference Counting
5. Dynamic Linking
6. HRESULTS, GUIDS, THE REGISTRY, AND OTHER DETAILS
7. The Class Factory
8. Component Reuse: Containment and AggRegation
9. MAKING IT Easier
10. Servers in EXES
11. Dispatch Interfaces and Automation
12. Multiple Threads
13. Putting it all together
This book is shallow, accurate, moderately, and a complete program is attached to each stage.
It is unfortunate that it is not good enough, and there is no analysis from the COM origin like Essential COM. In one case
The foundation of the beginning is not good, and the basic spirit of the whole CoM is shaken, and the advancement of the advancement is terrified.
I am afraid that I can't hit five.
My experience is that when I read the first two chapters of Essential CoM, they moved forward in their third chapter.
The knee is small, when the tongue is born, go back to see this inside COM, one night brush brush to see 13
0 pages (top six chapters), and master is quite good.
Every chapter of this book is in front of each section, the writing is very good, and the language of every sentence is also very
Clear (will not use a large string of a long string of clause connections), let us read smoothly, no need
Multi-spend my mind is in its articles, you can use all the spirit to deal with COM technology.
Take the Inside COM and Essential COM look up, you can maximize.
■ Understanding ActiveX and OLE - A Guide for Developers & Managers Author: David Chappell
Publishing company: Microsoft Press
Publishing date: 1996
Pages: 11 chapters, 328 pages
Sell Price: US $ 22.95 (no disc)
1. Introducting ActiveX and OLE
2. The Component Object Model
3. Marshaling and Type Information
4. AUTOMATION
5. Persistence
6. Monikers
7. Uniform Data Transfer and connectable Objects
8. Ole Compound Documents
9. ActiveX Controls
10. Distributed COM
11. ActiveX, The Internet, And The World Wide Web
The submarket of this book tells us that it is a book that can give a manager. Since it is a manager
Write, there will be no too many CODE in the book, but it is more abstract text description.
I never believe that "abstract text description" can make people who do not have "the technical foundation" understand. I
Dare to die, yes, the above sentence is applicable to 99.99999% of the industry. So, this book
In fact, it is only suitable for engineers who have been trained by COM / OLE / ACTIVEX. You have already, you can understand
it.
The people who will understand, people who will not understand, then this book is not a bit of useful? Do not,
Its content is not bad, and there are some well-designed pictures, which can make our ideas clearer.
To amend some of the blurred, like and not blind spots we may exist. The book side is very careful
The focus of the paragraph text is a bit of the taste of the leader. Two-color printing, pleasing and pleasing.