Respuestas:
Básicamente es una tecnología antigua utilizada para escribir programas en el entorno de Windows. Es grande y complejo y no fue agradable de administrar / apoyar. El marco .NET es su reemplazo.
Un objeto COM es básicamente un cuadro negro que implementa alguna interfaz conocida. También puede registrarse en Windows para que los programas puedan obtenerlo.
Por ejemplo, digamos que hay alguna interfaz ICalculator
, que escribo mi programa para usar. Ahora puedo intercambiar cualquier objeto, escrito en cualquier lenguaje de programación (ya que es una interfaz binaria) que implementa ICalculator
. Luego, en tiempo de ejecución, puedo proporcionar algún tipo de opción a mis usuarios para que puedan elegir usar el FooCorpCalculator
objeto COM, escrito en Python, o tal vez si necesitan más velocidad pueden elegir un NinjaCalculator
escrito en C. El punto es que escribo que mi programa dependa de una interfaz, no de una implementación, y luego elija usar el objeto COM real que implementa la interfaz más tarde.
Hay mucho más, por supuesto, pero ese puede ser un ejemplo que lo haga más concreto para usted.
Ver este artículo de Wikipedia: Modelo de objetos componentes
Component Object Model (COM) es un estándar de interfaz binaria para componentes de software introducido por Microsoft en 1993. Se utiliza para permitir la comunicación entre procesos y la creación de objetos dinámicos en una amplia gama de lenguajes de programación. El término COM se usa a menudo en la industria de desarrollo de software de Microsoft como un término general que abarca las tecnologías OLE, OLE Automation, ActiveX, COM + y DCOM.
Un objeto COM a menudo se implementa en un archivo DLL. Pueden ser utilizados por programas para una variedad de funciones. El término "objeto", como se usa aquí, se refiere a objetos en la programación orientada a objetos .
COM es un conjunto de tecnologías específicas de Windows para permitir la reutilización del código y la interoperabilidad, principalmente en el nivel del binario (no necesariamente en el nivel del código fuente).
A principios de la década de 1990, Bill Gates no permitió que el equipo de desarrollo de Powerpoint implementara un propio subsistema de gráficos para el producto Powerpoint, porque Microsoft ya tenía Excel. Entonces desarrollaron una especificación para permitir que sus productos internos intercambien datos y llamen a las demás funciones. Microsoft generalizó estas API, las publicó y muchas más pautas de diseño de código.
Ver este video de 2006: Tony Williams: Co-inventor de COM
Creo que ahora, en 2012, COM sigue siendo el núcleo de WMI y Office.