Component Object Model
I think that component-based programming is the wave of the future. Soon, applications will migrate to COM instead of traditional static components. What do you think?
VK
I think the component object model violates pretty much every principle of true object-oriented programming possible. I think it''s nice for things like plugins (web stuff and common controls comes to mind), but in general, any large architecture based on this stuff is going to be ugly as heck. Yes, I''ve used COM. No, I don''t like it much.
-fel
-fel
~ The opinions stated by this individual are the opinions of this individual and not the opinions of her company, any organization she might be part of, her parrot, or anyone else. ~
Yes, I think you are right. But COM is only really useful when implemented in the language level, like in VB6 or C#. So as long as we use C++, we won''t have a wide use of COM.
Tim
--------------------------
glvelocity.gamedev.net
www.gamedev.net/hosted/glvelocity
Tim
--------------------------
glvelocity.gamedev.net
www.gamedev.net/hosted/glvelocity
Tim--------------------------glvelocity.gamedev.netwww.gamedev.net/hosted/glvelocity
quote:
I think the component object model violates pretty much every principle of true object-oriented programming possible
How so? I think it may violate some - like the lack of multi-interface inheritence.
It''s certainly useful. You can define your COM objects in IDL and ''compile'' them in both MSVC & Delphi to produce .h & unit.pas files automatically. You can write the object implementation in either language and use it with VC, Delphi, and VB.
The biggest two complaints of COM, from what I''ve read, are the lack of standardized RTTI & dependance on the registry. Which are two issues supposedly addressed by COM+.
DirectX is composed of COM objects!
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
Well, there''s that, and the fact that it''s so easy to break encapsulation it''s not even funny.
~ The opinions stated by this individual are the opinions of this individual and not the opinions of her company, any organization she might be part of, her parrot, or anyone else. ~
I thought that was the one thing it took to the ultimate? the whole "black box reuse" idea (that term is retarded).
er do you mean that the interface is defined seperately from the implentation along with the possiblity (plan) for the same interface to have more than one implementation? neccessary evil, so you don''t break old code.
er do you mean that the interface is defined seperately from the implentation along with the possiblity (plan) for the same interface to have more than one implementation? neccessary evil, so you don''t break old code.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
I''m mystified also... There''s nothing inherent in COM that breaks encapsulation. In fact it''s stricter than most because it doesn''t allow public data members. Of course whoever writes the COM object is free to do as lousy a job as then can.
IMHO COM has it''s uses but the idea of building software more or less purely out of components is not going to be really viable for quite a while. The main problem being that each upgrade (or round of fixes) to the component tends to introduce new problems as well as solving old ones. You also have "version hell" problems when multiple versions of the component are floating around.
-Mike
IMHO COM has it''s uses but the idea of building software more or less purely out of components is not going to be really viable for quite a while. The main problem being that each upgrade (or round of fixes) to the component tends to introduce new problems as well as solving old ones. You also have "version hell" problems when multiple versions of the component are floating around.
-Mike
-Mike
You only have version hell if you break the #1 rule of COM. Once you release an interface it can never change .
Or did you mean while debugging it? and trying it out on a bunch of PCs before you release it?
Or did you mean while debugging it? and trying it out on a bunch of PCs before you release it?
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
COM underlies most fundamental Microsoft architectures right now...
One prominent author wrote, "most likely will have to be a COM programmer in the future to be a Windows programmer."
Edited by - GayleSaver on February 20, 2001 2:27:33 PM
One prominent author wrote, "most likely will have to be a COM programmer in the future to be a Windows programmer."
Edited by - GayleSaver on February 20, 2001 2:27:33 PM
VK
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement