Каково различие между COM и OLE?

Каково различие между COM и OLE, если таковые имеются?

46
задан TylerH 26 July 2019 в 14:32
поделиться

2 ответа

COM является развитый OLE. OLE был рядом интерфейсов и механизмов хранения данных для упрощения обмена данными между приложениями. COM был естественным расширением использования интерфейсов не только для обмена данными, но и функциональность во время выполнения - где на данные выходили фактические механизмы для упрощения использования. Я всегда изображал его примерно как различие между C и C++, где с C, можно совместно использовать заголовочные файлы и структуры, и с C++ Вы совместно используете инкапсулировавшие объекты.

Как что-то вроде мыльницы, я все еще пропускаю Структурированное хранилище OLE, так как существует что-то хорошее о совместном использовании непрозрачного хранения данных между сотрудничающими системами. При наблюдении, поскольку перетаскивание/буфер обмена все еще зависит от него, интересно, какова замена .NET будет?

4
ответ дан codekaizen 26 November 2019 в 20:32
поделиться

Технология OLE предшествует COM как отдельному объекту существенным количеством времени. Перед этим OLE был реализован как способ Встроить и Связать Объекты. Классическим примером является классический пример встраивания электронной таблицы в рамках документа слова. Базовая технология COM была включена так, чтобы другие языки, такие как VB могли взаимодействовать с теми объектами также.

Затем исторически, у нас было много программистов типа сервера, которые считали эти прохладные вещи как независимость языка, подсчет ссылок и модели потоков с завистью, но действительно не заботились слишком много о технологии встраивания вообще. Логическая вещь сделать состояла в том, чтобы разделить базовую функциональность сервера как COM - это был более естественно API низкого уровня.

Обе технологии все еще существуют. OLE отчасти соединен с или может совпасть с ActiveX в эти дни.

1
ответ дан 1800 INFORMATION 26 November 2019 в 20:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: