Index: [thread] [date] [subject] [author]
  From: Daemonprince <dp@khazad-dum.freeserve.co.uk>
  To  : ggi-develop@eskimo.com
  Date: Sat, 20 Feb 1999 11:10:02 +0000

Re: libGGI3d -- ready to code?

On Sat, Feb 20, 1999 at 01:00:35PM +1100, Andrew Apted wrote:
> Has anyone considered something "COM" like ?  The basics of COM seem
> pretty suitable, being :
> 
>   -  Interfaces are named by 128 bit "GUIDs" (Globally Unique
>      Identifiers).  They are practically guaranteed to be unique, so no
>      real chance that the interfaces of two separately developed modules
>      will clash.
> 
>   -  Each "component" can have multible interfaces: whenever you have
>      one interface pointer, you can use the standard "QueryInterface"
>      call to see if that component supports a particular interface.
>   
>   -  Interfaces are immutable, once they are "published" they cannot be
>      changed, so there is no problems of things breaking because someone
>      altered the ABI.  To add new features, you need a new interface.
> 
> CrystalSpace is using COM, which is why I mention it.  The COM-ified
> code looks rather messy (IMHO), but works OK.
> 
The only problem I have with COM is this messiness that you mention.
The GUIDs though they may be unique are not human readable and this
means extra overhead of making GUID to person converters. Ever tried
finding an incorrect registry entry in windows :-)

Otherwise from what COM work I have looked at in my Job defining a COM
interface is the same as one in IDL. The language is even called mIDL.

But the uniqueness of the identifier is a good winner, Java almost has
this with its internet address tagged on the front of classes thing. But
big companies have already broken this. No-one as far as I know have
messed up COM though.

Ill check out CrystalSpace ASAP then.

Graeme

Index: [thread] [date] [subject] [author]