Antworten:
Es ist im Grunde eine alte Technologie, die zum Schreiben von Programmen in der Windows-Umgebung verwendet wird. Es ist groß und komplex und hat keinen Spaß gemacht, es zu verwalten / zu unterstützen. Das .NET Framework ist sein Ersatz.
Ein COM-Objekt ist im Grunde eine Black Box, die eine bekannte Schnittstelle implementiert. Es kann sich auch bei Windows registrieren, damit Programme darauf zugreifen können.
Nehmen wir zum Beispiel an, es gibt eine Schnittstelle ICalculator
, für die ich mein Programm schreibe. Ich kann jetzt jedes Objekt austauschen, das in einer beliebigen Programmiersprache geschrieben ist (da es sich um eine binäre Schnittstelle handelt), die implementiert wird ICalculator
. Dann kann ich meinen Benutzern zur Laufzeit eine Option zur Verfügung stellen, damit sie FooCorpCalculator
das in Python geschriebene COM-Objekt verwenden können. Wenn sie mehr Geschwindigkeit benötigen, können sie ein NinjaCalculator
in C geschriebenes Objekt auswählen . Der Punkt ist, ich schreibe Mein Programm hängt von einer Schnittstelle ab, nicht von einer Implementierung, und wählt dann das eigentliche COM-Objekt, das die Schnittstelle später implementiert.
Natürlich steckt noch viel mehr dahinter, aber das könnte ein Beispiel sein, das es für Sie konkreter macht.
Siehe diesen Wikipedia-Artikel: Komponentenobjektmodell
Das Component Object Model (COM) ist ein 1993 von Microsoft eingeführter Standard für binäre Schnittstellen für Softwarekomponenten. Er ermöglicht die Kommunikation zwischen Prozessen und die dynamische Objekterstellung in einer Vielzahl von Programmiersprachen. Der Begriff COM wird in der Microsoft-Softwareentwicklungsbranche häufig als Oberbegriff für die Technologien OLE, OLE Automation, ActiveX, COM + und DCOM verwendet.
Ein COM-Objekt wird häufig in einer DLL-Datei implementiert. Sie können von Programmen für eine Vielzahl von Funktionen verwendet werden. Der hier verwendete Begriff "Objekt" bezieht sich auf Objekte in der objektorientierten Programmierung .
COM besteht aus Windows-spezifischen Technologien, die die Wiederverwendung und Interoperabilität von Code ermöglichen, hauptsächlich auf der Ebene der Binärdatei (nicht unbedingt auf der Ebene des Quellcodes).
In den frühen neunziger Jahren erlaubte Bill Gates nicht, dass das Powerpoint-Entwicklungsteam ein eigenes Diagrammsubsystem für das Powerpoint-Produkt implementierte, da Microsoft bereits über Excel verfügte. Deshalb haben sie eine Spezifikation entwickelt, mit der ihre internen Produkte Daten austauschen und sich gegenseitig Funktionen aufrufen können. Microsoft hat diese APIs verallgemeinert, veröffentlicht und viele weitere Richtlinien für das Code-Design.
Sehen Sie dieses Video von 2006: Tony Williams: Miterfinder von COM
Ich denke, dass COM auch 2012 noch im Mittelpunkt von WMI und Office steht.