9

Что это? Как я понял, это своего рода специальная технология Microsoft для некоторых объектов. Но что именно?

4 ответа4

11

COM-объект - это в основном черный ящик, который реализует некоторый известный интерфейс. Он также может зарегистрироваться в Windows, чтобы программы могли его использовать.

Например, скажем, есть некоторый интерфейс ICalculator , который я пишу для использования в своей программе. Теперь я могу поменять любой объект, написанный на любом языке программирования (так как это двоичный интерфейс), который реализует ICalculator . Затем во время выполнения я могу предоставить пользователям какую-то опцию, чтобы они могли использовать COM-объект FooCorpCalculator , написанный на Python, или, если им нужна большая скорость, они могут выбрать NinjaCalculator написанный на C. Дело в том, что я пишу свою программу так, чтобы она зависела от интерфейса, а не от реализации, а затем решаю использовать реальный объект COM, который реализует интерфейс позже.

Конечно, есть еще много чего, но это может быть примером, который делает его более конкретным для вас.

4

Смотрите эту статью в Википедии: объектная модель компонентов

Компонентная объектная модель (COM) - это стандарт двоичного интерфейса для программных компонентов, введенный Microsoft в 1993 году. Он используется для обеспечения межпроцессного взаимодействия и создания динамических объектов в широком диапазоне языков программирования. Термин COM часто используется в индустрии разработки программного обеспечения Microsoft как общий термин, который охватывает технологии OLE, OLE Automation, ActiveX, COM+ и DCOM.

COM-объект часто реализуется в файле DLL. Они могут использоваться программами для различных функций. Используемый здесь термин "объект" относится к объектам в объектно-ориентированном программировании.

4

Это в основном старая технология, используемая для написания программ в среде Windows. Это большой и сложный и не было приятно управлять / поддерживать. .NET Framework - это его замена.

0

COM представляет собой набор технологий, специфичных для Windows, для обеспечения возможности повторного использования кода и обеспечения взаимодействия, прежде всего на уровне двоичного кода (не обязательно на уровне исходного кода).

В начале 1990-х годов Билл Гейтс не позволил команде разработчиков Powerpoint внедрить собственную подсистему построения диаграмм для продукта Powerpoint, потому что у Microsoft уже был Excel. Поэтому они разработали спецификацию, позволяющую их собственным продуктам обмениваться данными и вызывать функции друг друга. Microsoft обобщила эти API, опубликовала их и многое другое.

Смотрите это видео с 2006 года: Тони Уильямс: Со-изобретатель COM

Я думаю, что сейчас, в 2012 году, COM все еще находится в ядре WMI и Office.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .