Co oznacza obiekt COM?

9

Co to jest? Jak zrozumiałem, jest to rodzaj specjalnej technologii Microsoft dla niektórych obiektów. Ale co dokładnie?

Siergiej
źródło

Odpowiedzi:

3

Jest to w zasadzie stara technologia używana do pisania programów w środowisku Windows. Jest duży i złożony, a zarządzanie / wsparcie nie sprawiało mu przyjemności. Framework .NET jest jego zamiennikiem.

Morgan T.
źródło
1
czy obiekty COM nie są używane w środowisku .NET?
Sergey
3
Można je wywoływać z .NET, ale są one zupełnie innym systemem. Nazywa się COM Interop. Możesz je trochę eksplorować na komputerze - w Panelu sterowania >> Narzędzia administracyjne >> Usługi składowe.
Morgan T.
2
COM nigdzie się nie wybiera. Jest szeroko wykorzystywany przez własne produkty Microsoft. Myślę, że to trochę mylące, że nazywasz to „w zasadzie starą technologią”. Tak, po raz pierwszy został wprowadzony na początku lat 90., więc technicznie jest „stary” w tym sensie, że był już jakiś czas, ale musisz uważać, aby nie wskazać, że jest przestarzały lub przestarzały.
Cody Gray,
12

Obiekt COM to w zasadzie czarna skrzynka, która implementuje znany interfejs. Może również zarejestrować się w systemie Windows, aby programy mogły go przejąć.

Załóżmy na przykład, że istnieje interfejs ICalculator, z którego piszę mój program. Teraz mogę zamienić dowolny obiekt napisany w dowolnym języku programowania (ponieważ jest to interfejs binarny), który się implementuje ICalculator. Następnie w środowisku wykonawczym mogę zapewnić użytkownikom pewną opcję, aby mogli wybrać użycie FooCorpCalculatorobiektu COM napisanego w Pythonie, a jeśli potrzebują większej prędkości, mogą wybrać NinjaCalculatornapisany w C. Chodzi o to, że piszę mój program będzie zależał od interfejsu, a nie od implementacji, a następnie zdecyduje się użyć rzeczywistego obiektu COM, który implementuje interfejs później.

Oczywiście jest o wiele więcej, ale może to być przykład, który czyni cię bardziej konkretnym.

dsolimano
źródło
4

Zobacz ten artykuł w Wikipedii: Component Object Model

Component Object Model (COM) to standard interfejsu binarnego dla komponentów programowych wprowadzony przez Microsoft w 1993 roku. Służy do umożliwienia komunikacji między procesami i dynamicznego tworzenia obiektów w wielu językach programowania. Termin COM jest często używany w branży oprogramowania Microsoft jako termin ogólny obejmujący technologie OLE, OLE Automation, ActiveX, COM + i DCOM.

Obiekt COM jest często implementowany w pliku DLL. Mogą być używane przez programy do różnych funkcji. Stosowany tu termin „obiekt” odnosi się do obiektów w programowaniu obiektowym .

bwDraco
źródło
1
dlatego zadałem to pytanie. ponieważ Wikipedia nie odpowiedziała. Definicja jest bardzo abstrakcyjna i nie widzę żadnego prawdziwego przykładu.
Sergey
1

COM to zestaw technologii specyficznych dla systemu Windows, aby umożliwić ponowne użycie kodu i interoperacyjność, przede wszystkim na poziomie pliku binarnego (niekoniecznie na poziomie kodu źródłowego).

Na początku lat 90. Bill Gates nie zezwalał zespołowi programistycznemu Powerpoint na wdrożenie własnego podsystemu tworzenia wykresów dla produktu Powerpoint, ponieważ Microsoft miał już program Excel. Opracowali więc specyfikację, aby umożliwić swoim wewnętrznym produktom wymianę danych i wzajemne wywoływanie funkcji. Microsoft uogólnił te interfejsy API, opublikował je i wiele innych wytycznych dotyczących projektowania kodu.

Zobacz wideo z 2006 roku: Tony Williams: współtwórca modelu COM

Myślę, że teraz, w 2012 r., COM nadal stanowi podstawę WMI i pakietu Office.

knb
źródło