Réponses:
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.
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' FooCorpCalculator
objet 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.
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 .
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.