O que o objeto COM significa?

9

O que é isso? Como eu entendi, é um tipo de tecnologia especial da Microsoft para alguns objetos. Mas o que exatamente?

    
por Sergey 21.04.2011 / 19:14

4 respostas

4

É basicamente uma tecnologia antiga usada para escrever programas no ambiente do Windows. É grande e complexo e não era agradável gerenciar / suportar. O framework .NET é a sua substituição.

    
por 21.04.2011 / 19:34
10

Um objeto COM é basicamente uma caixa preta que implementa alguma interface conhecida. Ele também pode se registrar no Windows para que os programas possam acessá-lo.

Por exemplo, digamos que haja alguma interface ICalculator , que eu escrevo para usar no meu programa. Agora posso trocar qualquer objeto, escrito em qualquer linguagem de programação (já que é uma interface binária) que implementa ICalculator . Então, em tempo de execução, posso fornecer algum tipo de opção aos meus usuários para que eles possam escolher usar o objeto FooCorpCalculator COM, escrito em Python, ou talvez, se precisarem de mais velocidade, possam escolher um NinjaCalculator escrito em C. O ponto é, eu escrevo meu programa para depender de uma interface, não uma implementação, e depois escolho usar o objeto COM real que implementa a interface mais tarde.

Há muito mais nisso, é claro, mas isso pode ser um exemplo que torna isso mais concreto para você.

    
por 21.04.2011 / 19:40
4

Veja este artigo da Wikipédia: Modelo de Objeto Componente

Component Object Model (COM) is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages. The term COM is often used in the Microsoft software development industry as an umbrella term that encompasses the OLE, OLE Automation, ActiveX, COM+ and DCOM technologies.

Um objeto COM é frequentemente implementado em um arquivo DLL. Eles podem ser usados por programas para uma variedade de funções. O termo "objeto" usado aqui se refere a objetos em programação orientada a objetos .

    
por 21.04.2011 / 19:21
0

COM é um conjunto de tecnologias específicas do Windows para permitir a reutilização e a interoperabilidade do código, principalmente no nível do binário (não necessariamente no nível do código-fonte).

No início dos anos 90, Bill Gates não permitiu que a equipe de desenvolvimento do Powerpoint implementasse um subsistema de gráficos próprio para o produto Powerpoint, porque a Microsoft já tinha o Excel. Então, eles desenvolveram uma especificação para permitir que seus produtos internos trocassem dados e ligassem para as funções uns dos outros. A Microsoft generalizou essas APIs, publicou-as e muito mais diretrizes de design de código.

Veja este vídeo de 2006: Tony Williams: Co- inventor de COM

Acho que agora, em 2012, o COM ainda está no centro do WMI e do Office.

    
por 19.12.2012 / 13:31