Microsoft'sComponent Object Model. The
ideais good, based around the
concept of being able to create an
object in any
language with a
language independant definition, and to let several of these objects
work together.
Unfortuantly, in traditional style Microsoft forgot to account for a few small things, such as everything but polymorphism. They noticed this and tacked on late binding, distributed execution, system independant activation, persistance and a few other items.