COM, COM +, DCOM, wo soll ich anfangen?
Ich bin gespannt, COM+, DCOM. Ich weiß, dass MSFT nicht empfehlen Ihnen die Verwendung dieses tools nativ (also mit C/C++, in der Tat gibt es nicht viel Dokumentation verfügbar), aber ich will lernen, um diese Technologien zu nutzen, wie das einbetten Internet Explorer in einem C-Programm.
Ich dachte, dass ich vielleicht Menschen finde, die arbeitete mit diesem oder jenem weiß, über diese Technologie.
Wo Sie anfangen sollen? Irgendwelche Ideen? Ein beliebiges Beispiel (wie Hello World DCOM)?
InformationsquelleAutor der Frage no_ripcord | 2009-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie ernsthaft über das lernen COM, Don Box "Essential COM" ist definitiv ein absolutes "must read". COM kann verwirrend sein, und in meiner bescheidenen Meinung nach Don Box ist einer der wenigen Menschen, die tatsächlich "got it".
Den Beispiel-code in "Essential COM" ist in C++. Sie finden nicht viele Bücher, die COM unterstützen in C. schreiben Sie COM in C, aber es wird sehr, sehr schmerzhaft. COM ist optimiert für C++ - Entwicklung.
Dieses Buch ist nicht perfekt, noch "komplett". Es gibt einige (zugegeben, ein bisschen esoterisch) Bereiche, die das Buch gleitet auf. Zum Beispiel, das Buch hat wie 1 1/2 Seiten auf "moniker" (ich habe nie gesehen, dass eine Behandlung von moniker, das befriedigt mich). Ich halte dieses Buch werden DIE grundlegenden Buch.
Zweiten, im wirklichen Leben sind Sie wahrscheinlich zu wollen, zu einem unterstützenden Bibliothek wie ATL, sondern schreiben alle COM-Kleber direkt. Es gibt zu viele Möglichkeiten, um subtile Fehler in COM noch in der basic-set-up. ATL wird Ihnen gute Muster und implementieren Sie die langweilig-code für Sie. Lernen Sie besser mit normalem C++.
Gibt es viele Bücher über ATL und einige sind ganz gut. Ich verstehe, dass die ATL hat sich ziemlich geändert seit den alten Tagen von VC++6, aber ich habe nicht aus Erster hand wissen es: leider sind die COM-code, mit dem ich zusammen arbeiten, ist für immer gesperrt werden, um den Geschmack von C++ in VC6.
Stellen Sie sicher, was auch immer Buch, das Sie bekommen, ist geschrieben für die version von Visual Studio und/oder ATL-Sie planen mit.
Einige Hintergrundinformationen über die COM-Bücher:
Beachten Sie, dass es gibt eine Menge Bücher gibt, die das missverstehen COM, oder konzentrieren sich auf die falschen Dinge. Die älteren Bücher sind noch schlimmer in dieser Hinsicht. Einige der ersten paar Bücher behandelt, COM als wenig mehr als ein Sanitär-detail benötigt, um OLE ("Object Linking and Embedding", das ist, was Ihnen erlaubt zu schleppen-und-Tropfen eine Tabellenkalkulation Bereich in ein Word-Dokument). Weil das so ist, viel von dem material das es gibt, ist sehr verwirrend. Es dauerte eine Weile, bis die Leute merkten, dass OLE nicht so wichtig, und dass die COM wirklich war.
Durch die Zeit, die Don Box veröffentlicht "Essential COM", die Risse auf der Grundlage der COM begonnen hatte, sichtbar zu machen. Es gibt nichts furchtbar fehlerhaft mit COM, aber die Bedürfnisse der Entwickler-community entwickelt hatten und entwachsen, was die COM tun könnte, ohne gravierende Umgestaltung.
.NET wurde geboren aus, dass Anstrengungen, um die Einschränkungen in der COM, insbesondere im Bereich der "Typ-Informationen". Nur wenige Jahre nach der "Effektiven COM" veröffentlicht wurde, ist der Aufmerksamkeit der Gemeinde verschoben, entfernt .NET. Weil das so ist, gute COM training material ist so und wird wahrscheinlich immer bleiben begrenzt.
So, COM ist nicht kaputt, es funktioniert Super für die Dinge, die es verwendet wird (das ist, warum Explorer noch verwendet). Es ist einfach nicht die beste Lösung mehr für viele der Probleme, die benötigen zu lösen, heute.
In der Zusammenfassung:
Empfehle ich die "Essential COM" für die Grundlagen. Dann, bei einer der vielen guten ATL-Bücher zur Verfügung (keine starken Präferenzen gibt), und dann verwenden Sie andere Ressourcen wie MSDN oder-natürlich-Stack-Overflow, die Bereiche abdecken, sind von besonderem Interesse für Sie.
Wenn Sie lieber vermeiden, sich auf die Ressourcen der Toten-Baum-Auswahl, gehen Sie vor und lernen, ATL-aus dem web. Aber einige Bücher sind es Wert, das Lesen auf die altmodische Art und Weise-und "Essential COM" ist einer von Ihnen.
Glück.
InformationsquelleAutor der Antwort Euro Micelli
COMCOM+ und DCOM sind drei völlig verschiedene Dinge. An diesem Punkt, es gibt sehr wenig Grund, zu lernen, COM-und fast kein Grund zu erfahren DCOM. Der einzige Grund, warum ich denken kann, ist, wenn Sie haben, zu halten oder integrieren von legacy-Komponenten. COM+ ist immer noch verwendet, weil es ermöglicht out-of-process-hosting-Komponenten und schöne Dinge wie distributed transaction management.
Der beste Weg, um mit dem schreiben beginnen einige COM ist mit ATL. In .NET COM+ genannt wird Enterprise Services.
Das beste Buch, das ich kenne, die auf der COM ist Keine Box Essential COM und Tim Ewald COM+ Buch ist auch ausgezeichnet.
InformationsquelleAutor der Antwort JP Alioto
Ich eine Liste zusammengestellt mit Büchern, die gelesen werden soll, in dieser Reihenfolge:
Bewusst sein, dass die COM ist schon eine alte Technologie, aber noch lebensfähig ist vor allem für Entwickler systemeigener Anwendungen.
InformationsquelleAutor der Antwort gast128
COM ist noch nützlich, wenn Sie möchten, mit zu arbeiten, oder zu erweitern, verschiedene Windows APIs, wie shell-Erweiterungen, scripting host, und so weiter.
Wesentliche KOM (Box) und ATL Internals (Rektor und Verkauft) sind ausgezeichnete Quellen. Effektive KOM (Box, et al) ist auch ok.
Wenn Sie wirklich wollen, das vollständige Bild auf COM, versuchen und erhalten eine Kopie der immensen Innen-OLE (Brockschmidt).
Distributed COM (Eddon, Eddon) ist anständig auf DCOM ist Inside COM+ Base Services (Eddon, Eddon) auf COM+.
sogar einige angeblich "reines" C++ Büchern habe bits, die auf der COM in Sie. Matthew Wilson ist Imperfet C++ hat einige nützliche Teile für das sehen, wie es funktioniert auf der Innenseite, und sein Erweiterter STL-Buch hat ein paar Kapiteln auf, wie man anpassen, COM, STL-Sammlungen.
Wenn Sie mehr darüber wissen möchten, wie Sie schreiben, COM-Server, werden Sie wahrscheinlich brauchen, um Knochen auf ATL. Die oben erwähnten ATL Internals ist ein muss. Trotz seines bescheiden klingenden Titel, Beginn ATL-COM hat einige nützliche Sachen in es zu.
Auch hilfreich im Lernprozess werden könnte, um den Kontrast COM mit .NET. Die .NET-und COM-Interoperabilität Handbuch ist ein großer schlucken, hat aber einige nützliche Sachen drin. Außerdem würde ich die check-out Shared Source CLI Essentials, nur um zu helfen, den Kontrast der zwei technoloqies.
HTH
InformationsquelleAutor der Antwort DannyT
Beginnen mit "Inside COM", bewegen Sie dann auf "Inside DCOM" und dann Lesen Sie die "Essential COM". Erhalten Sie einen Griff auf COM. Sowohl die Bücher in COM und Innen DCOM Microsoft-Publikationen. Ausgezeichnete Bücher für den, der wissen will, COM/DCOM gründlich.
InformationsquelleAutor der Antwort
Essential COM ist vor allem für die Umsetzung oder der Verwendung von COM-Komponenten von C++, ohne die Hilfe einer IDE, framework oder Bibliothek zu helfen.
COM trivial ist die Verwendung von VB oder Delphi, zum Beispiel, das ausblenden von COM-spezifischen Leim aus den Anwendungsprogrammierer. In C++ würde man oft ein Teil der Klasse Bibliothek, die versucht, abstrakte details ... Essential COM wird Ihnen sagen, was diese details sind (und die Art der Umsetzung Ihrer eigenen Bibliothek/framework dabei).
InformationsquelleAutor der Antwort ChrisW
Eigentlich, wenn Sie mehr darüber erfahren möchten, COM, Microsoft veröffentlicht ein Buch über COM und wie es funktioniert... http://www.amazon.com/Inside-Microsoft-Programming-Dale-Rogerson/dp/1572313498/ref=sr_1_2?ie=UTF8&s=books&qid=1243029018&sr=8-2
InformationsquelleAutor der Antwort Paul Sonier