Movatterモバイル変換


[0]ホーム

URL:


Перейти до вмісту
Вікіпедія
Пошук

Component Object Model

Матеріал з Вікіпедії — вільної енциклопедії.
У Вікіпедії є статті про інші значення цього терміна:COM.

COM (Component Object Model) — платформакомпонентно-орієнтованого програмування розроблена в1993 році компанієюMicrosoft; дозволяє використанняміжпроцесної взаємодії (inter-process communication) та динамічного створення об'єктів у будь-якій мові програмування, що підтримує технологію. Використовується переважно у ОСWindows, хоча була реалізована на декількох платформах.

Історія

[ред. |ред. код]

Стандарт COM був розроблений в 1993 році корпорацією Майкрософт як основа для розвитку технологіїOLE. Технологія OLE 1.0 вже дозволяла створювати так звані «складені документи» (англ.compound documents): наприклад, в пакетіMicrosoft Office ця технологія дозволяла включати діаграмиMicrosoft Excel в документиMicrosoft Word). Стандарт COM мав уніфікувати процес створення, впровадження і скріплення таких упроваджуваних об'єктів, а також стандартизувати розробкузастосунків, що використовують упроваджувані об'єкти.

Плутанина в назвах

[ред. |ред. код]

В 1996 році Microsoft спробувала перейменувати технологію OLE вActiveX, але це вдалося лише частково. Наприклад, технологія OLE дозволяла створювати так звані елементи управління OLE (англ.OLE Controls, або OCX) — повторно використовувані елементи призначеного для інтерфейсу користувача, які були побудовані на стандарті COM. Ці елементи управління OLE були перейменовані в елементи управління ActiveX (англ.ActiveX controls), хоча розширення файлів «.ocx» за ними залишилося. Потім Майкрософт став активно просувати ActiveX вІнтернет, включивши підтримку елементів ActiveX в свій популярний браузерInternet Explorer. В результаті назва OLE залишилася тільки за технологією складених документів і локальних упроваджуваних об'єктів. А мережеві OLE-об'єкти стали називати по-новому — ActiveX.

Деяка плутанина між поняттями OLE і ActiveX зберігається досі, але мова йде про ті самі COM-технології. Причому, іноді навіть плутають поняття OLE і COM. Так, упроваджувані OLE-об'єкти іноді називають COM-об'єктами, а OLE-контейнери COM-контейнерами тощо.

Принципи роботи COM

[ред. |ред. код]

Основним поняттям, яким оперує технологія COM, є COM-компонент. Програми, побудовані на технології COM, фактично не є автономними програмами, а є набором COM-компонентів, що взаємодіють між собою. Кожен компонент має унікальний ідентифікатор (GUID) і може одночасно використовуватися багатьма програмами. Компонент взаємодіє з іншими програмами через COM-інтерфейси — набори абстрактних функцій і властивостей. Кожен COM-компонент має, як мінімум, підтримувати стандартний інтерфейс «IUnknown», який надає базові засоби для роботи з компонентом.

Windows API надає базові функції, що дозволяють використовувати COM-компоненти. БібліотекиMFC і, особливо,ATL/WTL надають набагато гнучкіші і зручніші засоби для роботи з COM. Бібліотека ATL від Майкрософт досі лишається найпопулярнішим засобом створення COM-компонентів. Але, часто, COM-розробка залишається ще досить складною справою,програмістам доводиться вручну виконувати багато рутинних завдань, пов'язаних з COM (особливо це помітно у разі розробки наC++). Згодом (у технологіях COM+ і особливо.NET) Майкрософт спробував спростити завдання розробки COM-компонентів.

Розвиток COM

[ред. |ред. код]

DCOM

[ред. |ред. код]
Докладніше:Distributed Component Object Model

Випущена в1996 році технологія DCOM (англ.Distributed COM — розподілена COM) заснована на технологіїDCE/RPC (різновидиRPC) і є розвитком COM. DCOM дозволяє COM-компонентам взаємодіяти один з одним по мережі. Головним конкурентом DCOM є інша відома розподілена технологія —CORBA.

COM+

[ред. |ред. код]

У складіWindows 2000 була випущена технологія COM+, яка розширювала можливості розробників COM-компонентів, надаючи їм деякі готові послуги, наприклад:

  • покращену підтримкуниток;
  • доступ до контексту, в якому виконується компонент (наприклад, компоненти, використані вASP, можуть з цією можливістю дістати доступ до внутрішніх об'єктів тієї сторінки, на якій вони виконуються).

COM+ об'єднує компоненти в так звані застосунки COM+, що спрощує адміністрування і обслуговування компонентів. Безпека і продуктивність — основні напрями удосконалень COM+. Деякі ідеї, закладені в основу COM+, були також реалізовані вMicrosoft .NET.

.NET і майбутнє COM

[ред. |ред. код]

У2002 році була офіційно випущена платформаMicrosoft .NET, яка на сьогоднішній день оголошена Майкрософтом рекомендованою основою для створення застосунків і компонентів під Windows. З цієї причини в .NET включені і засоби, що дозволяють звертатися до компонентів COM із застосунків .NET, і навпаки. За словами представників Майкрософту, COM (точніше, COM+) і .NET є відмінно взаємно доповнюваними технологіями. Також було заявлено, щоWindows Vista буде побудована з використанням технологій .NET і COM+.

Див. також

[ред. |ред. код]

Посилання

[ред. |ред. код]
Незавершена стаття про Microsoft WindowsЦе незавершена стаття проMicrosoft Windows.
Ви можетедопомогти проєкту,виправивши або дописавши її.
Інструменти керування
Програми
Shell
Сервіси
Файлові системи
Сервер
Архітектура
Безпека
Сумісність
API
Ігри
Відкинуті
Інше
Отримано зhttps://uk.wikipedia.org/w/index.php?title=Component_Object_Model&oldid=38260132
Категорії:
Приховані категорії:

[8]ページ先頭

©2009-2026 Movatter.jp