2009-12-20 19 views
6

Últimamente escucho mucho sobre COM en mi trabajo. También aprendí que COM es viejo. COM está en desuso. No hay futuro para COM. ¿Son estos también verdad?¿Por qué debería aprender COM?

Quiero aprender COM porque quiero saber cuál es el gran alboroto al respecto, pero no puedo convencerme de que este es un motivo sólido para pasar tanto tiempo y aprenderlo.

Así que, ¿Puede alguien decirme:

  1. ¿Por qué debería aprender COM?
  2. Una vez que conozco COM, ¿qué puedo hacer para usarlo? Me refiero a sus aplicaciones.
+3

¿Alguna vez utilizó MS Word y colocó una imagen en el documento? Si es así, estás usando COM. –

Respuesta

8

Simplemente no veo COM desaparecer pronto. Si quieres ser un experto en Windows, debes entender cómo funciona.

4

aprendizaje COM (o al menos estar al tanto con sus conceptos) significa que se puede integrar con miles de componentes existentes, como Microsoft Word y Excel.

Trabajo principalmente en el dominio de Java, pero tener un poco de conocimiento de COM significa que puedo interactuar efectivamente con Word y Excel (en particular) para crear/leer documentos de manera programática. No tengo un conocimiento profundo, pero tengo un poco, y tener eso aumenta mi productividad sustancialmente.

4

Debe aprender lo suficiente sobre COM para saber que no quiere aprender más.

Los detalles de COM, particularmente de una aplicación multiproceso o C++, son terriblemente irritantes, y no los desearía en nadie (no los conozco, pero sé lo suficiente como para saberlo).

Por lo tanto, si necesita llamar a una biblioteca COM, debe aprender suficiente COM para poder hacerlo y luego detenerse. Idealmente, use un lenguaje como C# o Delphi donde algunos (o la mayoría) de los detalles se manejan de forma relativamente transparente.

Hay muchas bibliotecas COM disponibles, pero si cree que quiere usar una, debe consultar su documentación específica para saber cómo hacerlo; probablemente tenga un ejemplo razonable que simplemente puede adaptar para su propia usar sin demasiado esfuerzo. Si no lo hace, entonces claramente no es muy bueno y no debe usarse.

+0

Irresistiblemente irritante suena hiperbólico para mí. Los departamentos COM (estoy asumiendo que eso es lo que está obteniendo del comentario de subprocesos múltiples) y la clasificación no son tan complejos, especialmente si se toma el tiempo de leer los recursos correctos. Además, en C++ puedes usar ATL como una capa de abstracción para ocultar la mayoría de las cosas repetidas. –

+0

Bastante, tal vez estaba exagerando. Pero aún es mejor no tener que preocuparse por ellos :) – MarkR

4

COM definitivamente vale la pena aprender al menos un nivel si eres un desarrollador de Windows. Otro caso común para su uso, además de los otros ya mencionados, es en la implementación de binary behaviors y BHOs para Internet Explorer. Ambos se implementan utilizando interfaces COM entre IE y su código.

También me gustaría recomendar un par de recursos para el aprendizaje de COM:

  1. Don caja de Essential COM. Es una excelente descripción de por qué COM es como es y realmente lo ayuda a obtener una comprensión más profunda de lo que está sucediendo. Si se toma el tiempo de leer este libro, tendrá una comprensión fundamental de los componentes internos de COM que le serán de gran utilidad.
  2. Estos dos artículos: {1, 2} ... son una muy buena discusión sobre el tema particular de los apartamentos COM, aludidos como "terriblemente irritantes" (injustamente, en mi humilde opinión) en la respuesta de MarkR.
+0

El primer capítulo de Essentail COM ofrece una gran visión general del problema que trata de resolver COM; sin duda vale la pena leerlo aunque se lea el resto del libro. –

Cuestiones relacionadas