Достоинства и недостатки механизма *L*
13.01.2008Первоначально OLE-механизм связи и внедрения объектов считался
улучшенным *DE. Однако со временем он превратился в основу создания объектно-ориентированной системы. Особенность O** состоит в том, что объект, вставленный в другой объект, несет в себе информацию о
приложении, его породившем. Поэтому, например, отчет,
сформированный в текстовом процессоре, имеет длинную «электронную половину», связывающую его с «матерью» - базой данных. Кроме того, можно создать связь с файлом, в котором содержится оригинал объекта, и тогда DDE при каждой корректировке оригинала объекта будет соответственно изменять его копии (или фрагменты), вставленные в другие документы. Если такая связь установлена, объект называется
связанным, в противном случае он называется внедренным.
Основным новшеством технологии O*E стала возможность
активизации встроенных объектов. В рамках технологии O*E само понятие объекта приобрело новый смысл. Раньше объектом называли любой фрагмент, переносимый из одного приложения в другое. На самом же деле переносился не сам фрагмент, а лишь его «экранный образ», приложение-источник преобразовывало данные из своего внутреннего формата в один из стандартов Wi*dows, и в таком виде фрагмент
вставлялся в приложение-приемник.
В понимании OLE объект представляет собой сочетание данных
какого-либо вида во внутреннем формате приложения-родителя и информации о создавшей его программе, размере, времени создания, которая необходима для создания и использования этих данных. Таким образом, объект является законченной структурой, переносимой из одного документа в другой и сохраняющей свои отличительные особенности
независимо от типа документа.
Привлекательным в *LE стал метод d*ag and **op. Его можно
применять вместо операции копирования через буфер обмена. Он
обеспечивает наглядность процесса обмена данными.
OLE имеет дело с набором объектов, которые формируют составные
документы. Составной документ - это совокупность данных, подготовленных при помощи различных приложений. Так, например, подготовленное в текстовом процессоре письмо может включать таблицу, созданную программой для обработки электронных таблиц. То есть *LE предназначено для создания среды, в которой пользователь сможет создавать и поддерживать составные документы без потери атрибутов объектов данных с возможностью манипулирования объектами в их
исходном виде.
Использование связывания удобнее тем, что оно не приводит к
увеличению объема составного документа, кроме того связывание предоставляет возможность установления множественных связей с одним объектом, когда один объект служит источником данных для многих
документов.
Внедрение включает в составной документ копию оригинального
объекта с его непосредственными данными и данными для управления им, при этом внедренный объект становится частью составного документа. Такой объект существует в единственном экземпляре и только там, где он внедрен. Связь внедренной копии объекта с оригиналом не поддерживается и изменения, внесенные в оригинальный объект, не отражаются на внедренной копии. Редактирование внедренного объекта возможно лишь путем вызова родительского приложения. Внедрение объектов в составной документ приводит к значительному увеличению
его размера.
И все же внедрение имеет преимущества в сравнении со
связыванием. Первое, составной документ с внедренными объектами может быть перенесен на другой компьютер, где его можно открыть в своем приложении. Второе, внедренный объект редактируется родительским приложением по месту его нахождения в приложении-
клиенте.
Разница между связыванием и внедрением заключается в том, где
хранятся данные. Связанные данные хранятся в файле-источнике. Файл- приемник содержит только код, в котором содержится имя и
местоположение исходного приложения и исходного документа.
Внедренные данные хранятся в файле-приемнике и код, связанный с OLE
указывает на исходное приложение.
Как DDE, так и *LE используются для обмена информацией между
двумя приложениями. В каких приложениях использовать DDE, а в каких *LE? Этот вопрос затрагивает основы функционирования DD* и O**. Технология OLE построена на основе объектов. По своим функциональным возможностям OLE лучше, чем DDE, но OLE требует намного больше ресурсов. DD* не уступает свое место **E вследствие того, что эта технология требует намного меньше ресурсов и очень проста в использовании. OLE поддерживает активизацию по месту, то есть вы щелкаете кнопкой мыши на объекте *LE и сразу перемещаетесь в родное
приложение этого объекта.
Выбор между DDE и OLE в основном зависит от наличия
достаточного количества ресурсов, от требуемой степени
функциональности и интеграции, а также от необходимой для данного приложения производительности. Таким образом **E, по отношению к DDE является более мощной, более надежной и имеет больше возможностей, но она является более требовательной к системным
ресурсам.