Zum Inhalt springen

Diskussion:Component Object Model

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. April 2006 um 15:29 Uhr durch 132.187.9.134 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Hallo, was ist mit den seriellen COM1 und COM2-Schnittstellen am Rechner? Gehört wahrscheinlich in einen saparaten Artikel, ein Hinweis darauf würde hier aber nicht schaden. Grüße Nick B.

Ist erledigt. --Echoray 08:38, 30. Aug 2003 (CEST)

der eintrag "http://de.wikipedia.org/wiki/COM" enthält nur ein re.direct zu diesem artikel

ich denke es währe besser wenn das zu einem 'welches com meinst du denn?'.artikel werden würde wo auf die top.level.domain, die datei.namens.erweiterung mancher dos.programme, die serielle schnitt.stelle und diesem "Component Object Model".artikel --marti7D3 21:06, 15. Jan 2004 (CET)

Als Originalautor des Artikels habe ich mir einfach mal erlaubt, das so zu machen. 62.178.238.230 13:35, 23. Mär 2004 (CET)



Einige Dinge in diesem Artikel würde ich so nicht stehenlassen, bspw:

  • "Architektur": Ein COM-Server bietet COM-Komponenten an die ihrerseits Interfaces anbieten. Ein COM-Objekt ist eine Instanziierung einer COM-Komponente die von einem oder mehreren Interfaces repräsentiert wird. Mit Klassen hat das wenig zu tun, wenngleich COM-Komponenten meist als Klassen implementiert werden. Trotzdem kann eine COM-Komponente auch ohne Objektorientierung geschrieben werden.
  • "In-process-Server": Die Endung .ocx steht für Ole Control eXtensions und wird nicht für jeden beliebigen COM-Server verwendet.
  • "Objektorientierung": "Beim Einsatz von COM wird objektorientiert gearbeitet." ist zwar oft so, wird aber von COM nicht vorausgesetzt. COM Komponenten können sowohl von nicht-objektorientierten Sprachen erstellt als auch genutzt werden. Einfaches Beispiel: Assembler.
  • "Versionsunabhängigkeit": Das Hinzufügen neuer Interfaces zu einem bestehenden Interface als "die von Microsoft angedachte Form, Softwarekomponenten zu erweitern, da so keine Inkonsistenzen entstehen" ist so nicht vollständig korrekt, da dies nur eine (nicht die Beste) Möglichkeit für Komponentenupdates ist. Unter bestimmten Voraussetzungen muss bspw. sogar eine neue Komponente mit neuer GUID erstellt werden, welche ggf. die alte Komponente nutzt.
  • "Sprachunabhängigkeit": Es muss keine "objektorientierte Sprache" verwendet werden. Der von objektorientierten Sprachen generierte Binärcode wird zwar mit geeigneten Compilern gerne dafür verwendet, es kann aber auch jede andere Sprache benutzt werden. Es wäre kein binärer Standard, wenn Objektorientierung benötigt würde. Auch hier Beispiel Assembler. Übrigens ist es soetwas wie ein "glücklicher Zufall" dass das von MS Compilern verwendete v-table layout kompatibel zu den Anforderungen von COM ist; das ist bei anderen Compilern oft nicht so!
  • "COM-Interface": Die IDL wird nicht benötigt, um eine COM-Komponente bereitzustellen; das geht auch ohne, bspw. bei inproc-servern wenn die Funktionen bekannt sind.

und vieles mehr. Ich empfehle das Buch "Inside COM" von Dale Rogerson (MS-Press) in dem deutlich wird, dass COM viel basaler und damit auch viel flexibler ist als hier angedeutet.

Grüße Oliver

Ändere den Artikel doch entsprechend. --Ben g 00:14, 18. Jan 2006 (CET)

Eine Frage: beim studieren von Literatur und auch auf den Microsoft-Seiten wird immer gesagt, dass COM Objekte sowohl in DLLs als auch in Executables gepackt werden können. Das wird im Artikel nicht erwähnt. Da ich da aber nicht sicher bin, will ich´s auch nicht einfach ´rein schreiben. Gruss Torsten 06.04.2006