Que signifie objet COM?


9

Qu'Est-ce que c'est? Si j'ai bien compris, c'est une sorte de technologie spéciale Microsoft pour certains objets. Mais quoi exactement?

Réponses:


3

Il s'agit essentiellement d'une ancienne technologie utilisée pour écrire des programmes dans l'environnement Windows. C'est grand et complexe et n'était pas agréable à gérer / à soutenir. Le framework .NET le remplace.


1
les objets COM ne sont-ils pas utilisés dans le framework .NET?
Sergey

3
Ils peuvent être appelés à partir de .NET, mais il s'agit d'un système complètement différent. Cela s'appelle COM Interop. Vous pouvez les explorer un peu sur votre ordinateur - sous Panneau de configuration >> Outils d'administration >> Services de composants.
Morgan

2
COM ne va nulle part de sitôt. Il est largement utilisé par les propres produits de Microsoft. Je pense donc qu'il est un peu trompeur que vous l'appeliez "essentiellement une ancienne technologie". Oui, il a été introduit pour la première fois au début des années 90, donc techniquement, il est "ancien" dans le sens où il existe depuis un certain temps, mais vous devez faire attention de ne pas indiquer qu'il est obsolète ou obsolète.
Cody Gray

12

Un objet COM est essentiellement une boîte noire qui implémente une interface connue. Il peut également s'enregistrer auprès de Windows afin que les programmes puissent s'en emparer.

Par exemple, disons qu'il existe une interface ICalculator, que j'écris mon programme à utiliser. Je peux maintenant permuter dans n'importe quel objet, écrit dans n'importe quel langage de programmation (car c'est une interface binaire) qui implémente ICalculator. Ensuite, au moment de l'exécution, je peux fournir une sorte d'option à mes utilisateurs afin qu'ils puissent choisir d'utiliser l' FooCorpCalculatorobjet COM, écrit en Python, ou peut-être s'ils ont besoin de plus de vitesse, ils peuvent choisir un NinjaCalculatorécrit en C. Le fait est que j'écris mon programme à dépendre d'une interface, pas d'une implémentation, puis choisissez d'utiliser l'objet COM réel qui implémente l'interface plus tard.

Bien sûr, il y a beaucoup plus, mais cela peut être un exemple qui le rend plus concret pour vous.


4

Voir cet article Wikipedia: Modèle d'objet composant

Component Object Model (COM) est une norme d'interface binaire pour les composants logiciels introduite par Microsoft en 1993. Il est utilisé pour permettre la communication interprocessus et la création d'objets dynamiques dans une large gamme de langages de programmation. Le terme COM est souvent utilisé dans l'industrie du développement de logiciels Microsoft comme terme générique englobant les technologies OLE, OLE Automation, ActiveX, COM + et DCOM.

Un objet COM est souvent implémenté dans un fichier DLL. Ils peuvent être utilisés par des programmes pour diverses fonctions. Le terme "objet" tel qu'il est utilisé ici fait référence aux objets dans la programmation orientée objet .


1
c'est pourquoi j'ai posé cette question. parce que Wikipédia n'y a pas répondu. La définition est très abstraite et je ne vois aucun exemple réel.
Sergey

1

COM est un ensemble de technologies spécifiques à Windows pour permettre la réutilisation et l'interopérabilité du code, principalement au niveau du binaire (pas nécessairement au niveau du code source).

Au début des années 1990, Bill Gates n'a pas autorisé l'équipe de développement Powerpoint à implémenter un propre sous-système de création de graphiques pour le produit Powerpoint, car Microsoft disposait déjà d'Excel. Ils ont donc développé une spécification pour permettre à leurs produits internes d'échanger des données et de s'appeler les uns les autres. Microsoft a généralisé ces API, les a publiées et beaucoup plus de directives de conception de code.

Voir cette vidéo de 2006: Tony Williams: co-inventeur de COM

Je pense que maintenant en 2012, COM est toujours au cœur de WMI et Office.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.