5 Stimmen

Was ist der Unterschied zwischen COM und .NET?

Duplizieren Sie

Was ist der Unterschied zwischen Netzkomponenten und Com-Komponenten?

Was ist der genaue Unterschied zwischen COM und .NET? Ist .NET eine einfache Ummantelung von COM oder ist es etwas völlig anders?

6voto

codeulike Punkte 21491

Es gibt eine ganze Reihe von Unterschieden, .NET ist definitiv kein Deckmantel für COM.

Einige wesentliche Unterschiede sind:

  • Obwohl sowohl COM als auch .NET zu DLL-Dateien kompiliert werden, werden .NET-DLLs (Assemblies genannt) mit dem Gemeinsame Sprachlaufzeit eine virtuelle Maschine, die sich um bestimmte Dinge wie Speicherverwaltung, Threads, Garbage Collection und Sicherheit kümmert, während der Code ausgeführt wird.

  • .NET Assemblies müssen nicht unbedingt "registriert" werden, während COM DLLs in der Registrierung des Computers registriert werden müssen.

  • .NET verfügt über ein ganzes Gerüst von Objekten, auf denen aufgebaut, die verwendet oder erweitert werden können, um verschiedene Aufgaben zu erfüllen. Das Framework ist viel umfassender als die COM-Bibliotheken, die mit den alten Visual Studio-Paketen geliefert wurden.

Ich bin sicher, man könnte noch viel mehr sagen... man könnte fast Betrachten Sie .NET als eine zusätzliche Betriebssystemschicht, die über Windows läuft - so umfangreich ist es. Der wikipedia-Eintrag für .NET-Rahmenwerk könnte eine gute Anlaufstelle sein, um sich zu informieren.

2voto

Justin Niessner Punkte 235353

Völlig anders...

.NET bietet eine ganze Reihe von Sprachen auf einer gemeinsamen Laufzeitumgebung (ganz zu schweigen von JIT-Kompilierung und MSIL).

COM ermöglichte die Registrierung gemeinsamer Baugruppen und die Wiederverwendung von Code über eine Schicht oberhalb der Software.

2voto

Pontus Gagge Punkte 16933

.NET bietet eine virtuelle Maschine, eine umfangreiche Code-Bibliothek und einen Java-ähnlichen Bytecode (Intermediate Language), in den Ihre Programme kompiliert werden.

COM ist einfach ein binärer Interoperabilitätsstandard für die Erstellung von Objekten und deren Interaktion untereinander.

.NET unterstützt die COM-Kommunikation sowie eine Reihe anderer Interop-Modelle. Das ist eine viel, viel größere Sache als COM an sich.

1voto

Otávio Décio Punkte 72052

Wie Monty Python sagen würde, handelt es sich um etwas völlig anderes. Bei .NET haben Sie die Wahl, ob Sie sich "registrieren" lassen (GAC) oder nicht (lokales Verzeichnis). Aber es gibt nicht nur einen genauen Unterschied.

0voto

Michael Damatov Punkte 14513

.NET wurde als nächster Schritt nach COM eingeführt, um COM-Probleme zu überwinden. Um nur einige Vorteile zu nennen:

  • .NET ist eine Laufzeitumgebung (CLR) mit Garbage Collection (nicht nur Referenzzählung), Commom Type System (CTS), Code Access Security (CAS), Base Class Library (BCL), dem Rich Framework, usw.
  • Ein .NET-Compiler erzeugt keinen Win32-Code, sondern einen IL-Code (Intermediate Language).
  • Streng genommen ist COM nur eine Schnittstellenspezifikation.

Microsoft hat COM für Technologien aus den 90er Jahren verwendet: OLE, ActiveX, DirectX, usw. Diese Technologien werden immer noch mit COM entwickelt. Die neuen modernen Technologien verwenden jedoch .NET: Windows Presentation Foundation (WPF), Windows Communitation Foundation (WCF), viele Forschungsprojekte...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X