[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