[CLUE-Tech] Re: Component Object Model - Why? was: COM and Linux

Jeffery Cann jccann at home.com
Thu May 3 18:33:54 MDT 2001


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 03 May 2001 08:26, Grant Johnson wrote:

> This isn't really necessary under Linux.  This is for calling and using
> small parts of very large applications.  If the applications had been
> done correctly in the first place, they would be already manageable
> sizes, and this structure would not be needed.

Kevin,

In my humble opinion, Grant statement about 'applications done correctly in 
the first place...' does not describe COM accurately.  Knowing Grant, he 
probably understated his description, so my point is not to criticise his 
response, but to fill in some missing pieces that hopefully will lead to more 
understanding.

COM is about reusable software components.  It started as a technology called 
OLE - Object Linking and Embedding.  This idea allowed Microsoft programs to 
embed documents within other documents.  For example, I can take an Excel 
chart and put it in a Word document.   OLE evolved into a more generic object 
model (that includes network transparency) and is called COM - Component 
Object Model.  (BTW - Micro$oft did not invent the general idea of reusable 
software components).

The interesting aspect of OLE and later COM is that the component is not a 
standalone application (like a UNIX utility), but can be embedded within 
other programs.

The benefits of a component architecture is reusability and user consistency. 
 Different applications can share components.  For example, when I want a 
chart in my text document, I do not have to reprogram the text application to 
understand how to draw a chart.  I simply create the chart using a chart 
component.  Similarly, if I want to draw a chart in my spreadsheet, I use the 
same chart component that I used to draw it in my text document.  

Both the spreadsheet  and the text application share the use of the chart 
component.  In effect, killing 2 birds with one stone.  From a QA 
perspective, you can imagine the cost savings of only testing a single chart 
component, rather than hard-coding charting twice, once in the spreadsheet 
application and once in the text application.  A side benefit is that the 
chart component looks and acts the same in the text or spreadsheet 
application.  This makes it easier for the user to use it.

KDE, for example, implements a component architecture called Kparts.  KDE 
developers were wise to use the COM idea for KDE.  A good example is the 
KHTML component.  This component is used to read, interpret, and display HTML 
documents.  It is used by the Konqueror web browser / file manager.

Suppose I am writing an HTML editor for KDE and I wish to allow my users to 
preview the HTML page they are editing.  I can use the KHTML component in my 
HTML editor and use it to preview HTML pages.  Again, 2 birds with one stone. 
 In fact, Quanta (http://quanta.sourceforge.net) uses KHTML for this purpose.

KOffice, like MS Office, uses Kparts to reuse components and build 
applications with consistent functionality quicker.  This is a much wiser 
approach to application development which has proven to be successful.

Bonbo is the GNOME implementation of the COM idea.  I am not familiar with 
Bonbo, but you can find a lot of info on Google.

Later
Jeff

Drawing


> _______________________________________________
> CLUE-Tech mailing list
> CLUE-Tech at clue.denver.co.us
> http://clue.denver.co.us/mailman/listinfo/clue-tech
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjrx+PYACgkQw3/GBQk72kB1TQCfVtUlMdsg5dBJ5a/Z0V0J9jED
2F0An0SS2sSDhlrNfvcwdiO30B+HDcs3
=4MGG
-----END PGP SIGNATURE-----

Received: from ta10.techangle.com (techanglegw9.verioco.com [199.239.19.9])
	by clue.denver.co.us (8.9.3/8.9.3) with ESMTP id CAA18220
	for <clue-tech at clue.denver.co.us>; Thu, 3 May 2001 02:19:17 -0600
Received: from guthral (techanglegw79.verioco.com [199.239.19.79])
	by ta10.techangle.com (8.11.2/8.11.2) with ESMTP id f437U4C25339
	for <clue-tech at clue.denver.co.us>; Thu, 3 May 2001 01:30:05 -0600
Received: (from rwms1 at localhost)
	by guthral (8.11.2/8.9.3) id f437EfJ14536
	for clue-tech at clue.denver.co.us; Thu, 3 May 2001 01:14:41 -0600
Date: Thu, 3 May 2001 01:13:40 -0600
From: rwms1 at guthral
To: clue-tech at clue.denver.co.us
Subject: Re: [CLUE-Tech] vi macro question
Message-ID: <20010503011340.A14527 at guthral>
References: <F1571Np7vXee4fDGCl9000071ff at hotmail.com> <01050223510302.17484 at jumanji>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Mailer: Mutt 0.95.7i
In-Reply-To: <01050223510302.17484 at jumanji>
Sender: clue-tech-admin at clue.denver.co.us
Errors-To: clue-tech-admin at clue.denver.co.us
X-BeenThere: clue-tech at clue.denver.co.us
X-Mailman-Version: 2.0beta2
Precedence: bulk
Reply-To: clue-tech at clue.denver.co.us
List-Id: CLUE technical discussions, questions and answers. <clue-tech.clue.denver.co.us>

If you are doing anything more complicated than this, or if
you need to do it repeatedly, you can type the desired command
at the bottom of your document:

:'a,.d

move the cursor to that line and transfer the command to one of
the buffers with :

"zdd

and then, when you want to run the macro, in the command mode type 

@z

This is one of the tricks that makes vi all that it is!

Bob W.

On Wed, May 02, 2001 at 11:51:03PM -0600, Jeffery Cann wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On Wednesday 02 May 2001 11:28, Phil North wrote:
>  If the previously line is marked (ma) and the current line is
> > marked (mb), then from the vi command line do
> >
> >:'a,'b d
> 
> You probably do not have to make the second mark.  Suppose you are deleting 
> from mark 'a' to line 123:
> 
> :'a, 123 d
> 
> Jeff



More information about the clue-tech mailing list