Individualschulungen
Entwicklung
Aktuelle Themen
.NET
JavaScript / TypeScript
Java
Programmiersprachen
Entwicklungswerkzeuge
Benutzeroberflächen / User Experience
Softwareengineering
KI in der Softwareentwicklung
Plattformen & Systeme
KI
Web & Cloud
Apps / Mobilplattformen
Datenbanken / Reporting / BI
Betriebssysteme & Virtualisierung
Microsoft Server-Produkte
Scripting
Windows & Office für Anwender
Soft Skills & IT-Recht
Das bieten nur wir
Umfangreicher Themenkatalog
Wählen Sie aus 1055 Themen
Weiterbildungsphilosophie
Individuelle Anpassung an Ihre Anforderungen
Didaktische Konzepte
Ganz nach Ihren Wünschen
Vorteile individueller Firmenseminare
Im Vergleich zu offenen Seminaren
Vor Ort oder online
Alles ist in Ihrem Hause oder online möglich
Top-Trainer
Die besten und renommiertesten Experten
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
1055 Themen, die frei anpassbar und kombinierbar sind
Gesamter Themenkatalog →
Offene Schulungen
Online-Trainings
.NET-Akademie
.NET/C#-Basisseminar
WPF
WinUI
.NET MAUI, Uno & Avalonia
Blazor
ASP.NET Core WebAPI
Entity Framework Core
Unit Testing / TDD
PowerShell
Alle Seminartermine
INFOTAGE
INFOTAG ".NET 12.0"
am 22.06.2027
INFOTAG "KI" 2027
am 15.09.2027
Das bieten nur wir
Renommierte Top-Trainer
Die besten und bekanntesten Experten schulen Sie!
Teilnehmerfeedback
Das sagen 9311 von insgesamt über 75000 Teilnehmern
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Nicht das passende Thema dabei? Stellen Sie Ihre individuelle Firmenschulung aus 1055 Modulen zusammen!
Individualschulungen →
Beratung, Support & Entwicklung
Alle unsere Leistungen
Beratung
Beratung zu vielen technischen und methodischen Themen
Coaching
Projektbegleitende Unterstützung
Softwareentwicklung
Wir entwickeln einzelne Module oder ganze Anwendungen für Sie
Technischer Support
Support für einzelne technische Fragen
Individualschulungen
1055 Themen, die frei anpassbar und kombinierbar sind
Offene Seminare
Ausgewählte Themen bieten wir auch als öffentliche Online-Schulungen an.
Beratungsthemen
Anwendungsarchitektur
Datenbankzugriff/Data Access
DevOps
Frontend, GUI, UX
IT-Infrastruktur
Leistung/Performance
Machbarkeit und Prototyping
Methodik, Prozesse, Teamarbeit
Migration und Versionsumstieg
Mobilanwendungen
Reviews und Qualitätssicherung
Sicherheit/Security
Verteilte Systeme und Services
Webtechniken
Werkzeugauswahl
Weitere Themen
Auch alle Schulungsthemen sind als Beratung möglich!
Das bieten nur wir
Renommierte Top-Berater
Durch Vorträge und Veröffentlichungen sehr bekannte Experten
Referenzkunden
Viele namhafte mittlere und große Referenzkunden
Referenzprojekte
Zahlreiche Referenzprojekte
Beratung vor Ort oder remote – flexibel nach Bedarf.
Zu den Beratungsthemen →
Wissen
Publikationen & Vorträge
Fachbücher
Fachartikel
Konferenzvorträge
Weblog
Spickzettel/Cheat Sheets
Lexikon/Glossar
Programmcodebibliothek
Fallbeispiele
Newsletter
Downloads
Themenportale
Übersicht
.NET/C#/Visual Studio
.NET 11.0
.NET 10.0
.NET 9.0
.NET 8.0
ASP.NET (Core)/Blazor
PowerShell
Versionshistorie
Konferenzen/Events
Community-/Leserportal
Suche
Themenkatalog
Tag Cloud
Volltextsuche
Site Map
FAQs
Schulungen, Beratung, Support, Coaching, Softwareentwicklung
Unsere kommerziellen Leistungen →
Über uns
Unternehmen
Zahlen
Selbstdarstellung
Kernkompetenzen
Dr. Holger Schwichtenberg
Unsere Top-Experten
Leitung & Kundenteam
Partner
Weitere Websites
Referenzen
Referenzkunden
Kundenaussagen
Referenzprojekte
Kontakt & Rechtliches
Kontakt
Impressum
Datenschutzerklärung, Haftung, Urheberrecht, Barrierefreiheit
Impressum, Datenschutz und Barrierefreiheit unter Kontakt & Rechtliches.
Rechtliches →
Erklärung des Begriffs: Component Object Model (COM)
Begriff
Component Object Model
Abkürzung
COM
Eintrag zuletzt aktualisiert am
08.10.2006
Zur Stichwortliste unseres Lexikons
Was ist
Component Object Model
?
Das Component Object Model (COM) ist Microsofts Ansatz für objektorientierte
Softwarekomponente
n. COM ist das allgemeine Modell für den Aufbau und die Benutzung von Komponenten und der Vorgänger des
.NET Framework
s. Das
.NET Framework
sollte ursprünglich COM 3.0 heißen. Jedoch hat Microsoft sich später für einen anderen Namen entschieden – was auch gerechtfertigt ist, weil das
.NET Framework
nicht mehr auf COM basiert.
COM wurde eingeführt im Jahre 1993 unter dem Namen "Object Linking und Embedding". Erst 1997 begann Microsoft, den Namen Component Object Model (COM) zu verwenden.
Das
.NET Framework
verbessert zehn wesentliche Unzulänglichkeiten von COM:
Komplexität
1. Komplexität
Das neue
Komponentenmodell
ist einfacher und universeller. Es gibt keine verschiedenen Zugänge zu einem
Objekt
mehr wie in COM (
IUnknown
und IDispatch), sondern nur noch ein einheitliches Verfahren, das durch die .NET-Laufzeitumgebung für den Entwickler völlig transparent abläuft. Anders als in COM kann jeder .NET-Client jede
.NET-Komponente
nutzen. Nicht mehr Schnittstellen, sondern Klassen stehen im Mittelpunkt. .NET unterstützt aber ebenso wie COM Klassen mit Mehrfachschnittstellen. .NET-Klassen haben hierarchische Namen. Schnittstellen werden explizit definiert, anstatt abstrakte Klassen als Hilfskonstrukte zu nutzen.
Zudem sind alle .NET-Anwendungen und -Bibliotheken zugleich
.NET-Komponente
n. Es wird nicht mehr wie in COM zwischen einfachen
DLL
s/
EXE
s und Komponenten-
DLL
s/COM-
EXE
s unterschieden.
2. Selbstbeschreibung
Im
.NET Framework
ist es Pflicht, dass alle Komponenten eine Selbstbeschreibung enthalten. Diese Meta-Daten liefern Informationen über die enthaltenen Klassen mit ihren Schnittstellen und über deren
Attribut
e,
Methode
n und Ereignisse. Die Sprach-Compiler haben dafür zu sorgen, dass diese Meta-Daten erzeugt werden und konsistent zum wirklichen Inhalt der Komponenten sind.
3. Einheitliche Laufzeitumgebung
COM stellt zwar ein Verfahren bereit, wie in unterschiedlichen Sprachen implementierte
COM-Komponente
n untereinander kommunizieren können, die Erstellung und Nutzung von
COM-Komponente
n ist jedoch in verschiedenen Sprachen unterschiedlich gelöst gewesen. Um die komplexen COM-Mechanismen für den Programmierer einfacher nutzbar zu machen, enthalten die COM-fähigen Sprachen eine Laufzeitumgebung. Dies waren bisher für Visual Basic die VB-Runtime und für
Visual C++
die
Active Template Library
(
ATL
). .NET besitzt eine einheitliche Laufzeitumgebung für alle Sprachen, die
Common Language Runtime
(
CLR
). Dies ist die Umsetzung eines Features, das Mitte der Neunzigerjahre bereits für das mit
Windows 2000
ausgelieferte COM+ angekündigt war. COM+ enthielt jedoch diese Laufzeitumgebung noch nicht.
4. Verbesserte
Versionierung
Eine Komponente kann in beliebig vielen Versionen auf einem einzigen System parallel installiert sein. Jede Anwendung kann so konfiguriert werden, dass sie eine bestimmte Version einer Komponente nutzt.
5. Einfachere Installation
Komponenten müssen nicht mehr in der Windows-Registry registriert werden. Um eine Komponente für eine einzelne Anwendung verfügbar zu machen, reicht es, sie auf die Festplatte des Systems zu kopieren (Schlagwort »X
COP
Y-Deployment«). Lediglich globale Komponenten erfordern eine spezielle Behandlung.
6. Bessere Fernausführung (Remoting)
Die Verteilungsplattform von COM, das Distributed COM (
DCOM
), war eine proprietäre Entwicklung von Microsoft, die sich im Internet nicht durchsetzen konnte, da
DCOM
zahlreiche
TCP
-Ports verwendet, die durch Firewalls geblockt werden. Im
.NET Framework
erfolgt die Nutzung entfernter Komponenten auf Basis des
Simple Object Access Protocol
s (
SOAP
).
7.
Vererbung
Das .NET-
Komponentenmodell
unterstützt im Gegensatz zu COM die
Vererbung
, auch zwischen verschiedenen Sprachen.
8. Plattformunabhängigkeit
.NET-Komponente
n sind durch ein Intermediation-Konzept plattformunabhängig. Compiler und Interpreter erzeugen in Zukunft keinen Maschinencode mehr, sondern einen prozessorunabhängigen Zwischencode. Dieser verwendet eine neue Sprache, die so genannte Microsoft
Intermediation Language
(
MSIL
). Ein
Just-in-Time-Compiler
übersetzt diese
MSIL
zur Laufzeit in Maschinencode. Dabei optimiert der
Just-in-Time-Compiler
den Maschinencode für die jeweilige Plattform (insbesondere den Prozessortyp).
9. Bessere Garbage Collection
Die fehleranfällige Referenzzählung in COM mit
IUnknown
::AddRef() und
IUnknown
::Release() wird in .NET durch einen
Garbage Collector
ersetzt, der eigenständig in regelmäßigen Zyklen nicht mehr benutzte
Objekt
e aufspürt und den Speicher freigibt. Der
Garbage Collector
erkennt auch zirkuläre Referenzen.
10.
Code Access Security
(
CAS
)
Im
.NET Framework
kann sehr genau gesteuert werden, auf welche Systemressourcen eine .NET-Anwendung zugreifen kann.
Aktuelle Online-Artikel
O
Weitere Ressourcen auf dieser Website
W
W
W
Querverweise zu anderen Begriffen im Lexikon
Simple Object Access Protocol (SOAP)
Active Template Library (ATL)
Intermediation Language (IL)
Common Language Runtime (CLR)
Code Access Security (CAS )
Just-in-Time-Compiler
Softwarekomponente
Komponentenmodell
Garbage Collector (GC)
.NET-Komponente
.NET Framework
COM-Komponente
Versionierung
Windows 2000
Visual C++ (VCPP)
Vererbung
Attribut
IUnknown
Methode
Objekt
Code Access Security (CAS )
Distributed Component Object Model (DCOM)
Simple Object Access Protocol (SOAP)
Microsoft Intermediate Language (MSIL)
Dynamic Link Library (DLL)
Executable (EXE)
Active Template Library (ATL)
Transmission Control Protocol (TCP)
Common Language Runtime (CLR)
Component Oriented Programmierung (COP)
Beratung & Support
Cloud-Computing - Pro und Contra
WCF-Leistung / WCF-Performance: Optimierung der Windows Communication Foundation (WCF)
Barrierefreiheit nach European Accessibility Act (EAA)
.NET-Webservices mit WebAPI, SignalR, gRPC oder WCF/CoreWCF?
Benutzerschnittstellentechnik auswählen (UI-/Frontend-Techniken)
Einsatz der Microsoft Azure-Cloud-Plattform als Alternative zu eigenen Servern und klassischem Hosting
Plattformunabhängige Anwendungen entwickeln: Flutter vs. .NET MAUI vs. React vs. Kotlin vs. JavaScript/TypeScriptsowie JavaScript/TypeScript in Verbindung mit Electron, PhoneGap, Tauri, NW.js u.a.
REST versus SOAP (SOAP und REST im Vergleich)
Anfrage für Beratung/Consulting zu COMPONENT OBJECT MODEL COM
Gesamter Beratungsthemenkatalog
Technischer Support zum Thema COMPONENT OBJECT MODEL COM
Schulungen
.NET und C# für Umsteiger von klassischem Visual Basic/COM
.NET und COM nutzen in der Windows PowerShell
.NET-Programmierung im SQL Server (SQLCLR) - Common Language Runtime (CLR)-Integration in SQL Server
Combit List&Label für Softwareentwickler (Berichte/Reporting mit List&Label)
Component Object Model (COM/COM+/DCOM)
Das Component Object Model - für Script- und Visual Basic-Entwickler
Inspirations- und Motivationsschulung: Cloud Computing mit Microsoft Azure
Interoperabilität von COM und .NET sowie Win32/Native C++ und .NET (P/Invoke)
Komponentenbasierte Softwareentwicklung (Component Based Development - CBD)
Komponentenorientiertes Entwickeln mit .NET / .NET Components
Microsoft Azure-Cloud im Überblick - Microsofts Cloud Computing-Plattform
Prism - Composite UI Framework für WPF
System Center Operations Manager (SCOM)
Versionsverwaltung mit Git (optional in Verbindung mit GitHub, GitLab, Gitea, Bitbucket, Azure DevOps oder AWS CodeCommit)
Web Components (wiederverwendbare HTML5-Komponenten)
Windows Communication Foundation (WCF) - Aufbauwissen
Windows Communication Foundation (WCF) - Basiswissen
.NET 8.0 - Änderungen und Neuerungen gegenüber .NET 7.0
.NET Akademie: Windows UI Library 3 (WinUI 3): Moderne Windows-Desktop-Anwendungen (2-Tages-Agenda des öffentlichen Seminars)
.NET und C# für Fortgeschrittene - Tipps, Tricks und Tuning
ASP.NET Core 9.0 - Änderungen und Neuerungen gegenüber ASP.NET Core 8.0
Aspire
Auth0: Authentifizierung, Autorisierung, Identity und Access Management
Blazor für Fortgeschrittene - Tipps, Tricks und Tuning
C# 14.0 - Neuerungen gegenüber C# 13.0
Claude und Claude Code für Softwareentwickler – KI-gestützte Softwareentwicklung mit Anthropic
Claude von Anthropic – KI-Assistent für produktives Arbeiten, Recherche, Dokumentenerstellung und Automatisierung
CSS-Präprozessoren SCSS und SASS (Syntactically Awesome Stylesheets und Sassy Cascading Style Sheets)
Cursor AI – KI-gestützte Softwareentwicklung mit Cursor, Coding-Agenten und APIs
Datenmodellieren für und mit Power BI sowie Analysis Services Tabular
Debugging von C++-Anwendungen/Fehlersuche mit Visual Studio
Deep Dive Theming und UI-Design mit CSS & Co.
Delphi-Basiswissen: Anwendungsentwicklung mit der Programmiersprache Delphi und der Entwicklungsumgebung RAD Studio
Einführung in die KI-gestützte Softwareentwicklung mit GitHub Copilot
Embedded Programmierung mit modernem C++
Entity Framework Core 7.0 (EF Core 7.0) - Änderungen und Neuerungen gegenüber Entity Framework Core 6.0
Entity Framework Core 8.0 - Änderungen und Neuerungen gegenüber Entity Framework Core 7.0
Entity Framework Core 9.0 (EF 9.0) - Änderungen und Neuerungen gegenüber Entity Framework Core 8.0
Java 13-Update (Neuerungen in Java 13 gegenüber Version 12)
Java 14-Update (Neuerungen in Java 14 gegenüber Version 13)
Java 17-Update (Neuerungen in Java 17 gegenüber Version 16)
Java 23-Update (Neuerungen in Java 23 gegenüber Version 22)
Java 24-Update (Neuerungen in Java 24 gegenüber Version 23)
Java 25-Update (Neuerungen in Java 25 gegenüber Version 24)
Künstliche Intelligenz (KI) im Überblick
Legacy-Modernisierung: Strukturierte Migration bestehender Anwendungen nach .NET und C# – insbesondere unter Einsatz von KI
Microsoft Application Virtualization: App-V-Paketbereitstellung mit Citrix Virtual Apps and Desktops (XenDesktop) oder System Center Configuration Manager (SCCM)
Microsoft Entra/Entra ID
Microsoft SQL Server (MSSQL) - Sicherheit
Mobile Application Security (MAS)
Anfrage für eine individuelle Schulung zum Thema COMPONENT OBJECT MODEL COM
Gesamter Schulungsthemenkatalog
Fachbücher
Microsoft Copilot für Entscheider: Strategie, Governance und DSGVO-Compliance für CISOs, IT-Leiter und Datenschutzbeauftragte
PHP and MySQL: The Comprehensive Guide
App-Entwicklung für Mobile und Desktop: Software Engineering mit .NET MAUI und Comet für iOS, Android, Windows und macOS
Vue.js 3 Crashkurs
Developing Web Components with TypeScript: Native Web Development Using Thin Libraries
Automatisierte Systemadministration mit Visual Basic /VBScript und COM./NET
Alle unsere aktuellen Fachbücher
E-Book-Abo für ab 99 Euro im Jahr