Articles   Members Online:
-Article/Tip Search
-News Group Search over 21 Million news group articles.
Member Area
-Account Center
-Top 10 NEW!!
-Submit Article/Tip
-Forums Upgraded!!
-My Articles
-Edit Information
-Become a Member
-Why sign up!
-Chat Online!
-Indexes NEW!!
-Build your resume
-Find a job
-Post a job
-Resume Search
-Link to us
Visit Embarcadero
Embarcadero Community
Attributes/Advantages Of COM Turn on/off line numbers in source code. Switch to Orginial background IDE or DSP color Comment or reply to this aritlce/tip for discussion. Bookmark this article to my favorite article(s). Print this article
Delphi 4.x
User Rating
No Votes
# Votes
DSP, Administrator
Reference URL:
			Author: S S B Magesh Puvananthiran

The Advantages of using COM.


Nowadays, COM is gaining popularity as most of the languages support development of 
COM objects including Delphi. In future, all the activities of an Operating system 
and applications would be services provided by COM. So the users can use those 
services as easily as Plug-And-Play. 

In this article, let me present you some of the advantages/attributes (but most of  
them are attributes) of COM that I learned. 

1. Object Oriented 

All the COM objects are Object Oriented as its name implies. There are three basic 
Object Oriented concepts: 

Encapsulation: This is implemented by the interfaces provided by the COM Objects. 
Those interfaces hide the implementation details from the end user and provides the 
functionality to the user. By that, the user just needs to know what interface 
methods to call, to do a specific operation  provided by that COM object. 

Polymorphism: This is often called “One Method Multiple Interfaces”. A COM object 
could define a single method to perform a specific operation; but that operation 
could be implemented through various interfaces/ways.

Inheritance: When we want to incorporate some additional functionalities to an 
existing COM object, we can enhance the existing COM object by inheriting a new COM 
object from it. 

COM incorporates all those three concepts in it. 

2. Loose Coupling 

In a software, that uses COM objects, we can easily replace an existing COM object 
with another COM object written in entirely another language as long as the 
signatures of the methods in both the COM objects remain same. In that case, there 
will not be any change in the existing software code that uses the COM object. 

3. Easy Transition 

Let us suppose that a software uses a specific COM object provided by a third 
party. At some point of time, that third party might upgrade that COM object to 
incorporate some additional functionalities. At this time, if we would like to use 
the latest version of that COM object in our software, we can just remove the 
existing (old) version of that COM object and place this new version of COM into 
our software as long as the signatures of the methods in the old version of the COM 
object do not change in the new version. But this is a standard for any COM objects 
provided by third parties and for anybody who develops COM objects. If they upgrade 
the existing version of COM object, they will not alter the existing signatures but 
might add some optional parameters to those methods; But that will not affect the 
existing system to function properly. So even if we develop a COM object and would 
like to upgrade, then we should keep in mind the existing method signatures. At any 
point of time the existing system should not get affected by upgrading to a newer 
version of COM. This is rather a defined norm in developing COM objects. So 
transition is easy. 

4. Binary Language 

Since most of the COM libraries are in binary language, it could be used by any 
application written in any language. So COM is language neutral. This is one of the 
main advantages of COM; it's language independent. 

5. Resource utilization

Every COM object will be destroyed automatically as long as no client is using that 
object actively. This is implemented by COM using a technique called reference 
counting. Every COM object will maintain a reference count(the number of clients 
using that COM object); Once that count reaches zero(that means no clients actively 
using that COM object), then that COM object will be destroyed automatically. With 
this approach, we can increase resource utilization in an application. Resources 
such as memory will be best utilized by releasing the inactive/unused COM objects.  

The above listing is just an overview of what COM offers us. 

Vote: How useful do you find this Article/Tip?
Bad Excellent
1 2 3 4 5 6 7 8 9 10


Share this page
Download from Google

Copyright © Mendozi Enterprises LLC