.
Tuesday 22nd of May 2012    

Информация

Счетчики

Голосование

Лучшая марка телефона
 

Реклама

фильмы онлайн

фильмы онлайн


Особенности создания экземпляра COM-объекта
загрузка...

Процесс рождения любого объекта всегда начинается с выяснения объема памяти, который требуется выделить в интересах новорожденного. Если размер создаваемого экземпляра класса заранее неизвестен, Delphi первым делом проанализирует, сколько байт требуется для каждого из объявленных в классе элементов. Сложив все значения, Delphi запросит у операционной системы требуемое количество байт.

При работе с COM у Delphi (как, впрочем, и у любого другого языка программирования) возникает известная проблема: как выяснить, сколько байт необходимо выделить для будущего COM-объекта? Напомню, что COM-объект -это черный ящик, абсолютно не желающий делиться с окружающим миром ни одной особенностью своего построения. Поэтому Delphi не в состоянии узнать аппетиты формируемого объекта.

Наибольшей остроты эта проблема достигает в ситуации, когда программист регулярно вносит какие-то изменения в реализацию стандартного класса, что, естественно, ведет к изменению требуемой для объекта памяти. В связи с этим весь код, прямо или косвенно использующий этот класс, необходимо перетранслировать. А теперь представьте ситуацию, когда с одной библиотекой кода связаны десятки программных продуктов, как, например, с классической для Windows библиотекой ComCtrl32 .dll.

К счастью, с выходом очередной версии библиотеки не надо обновлять все свое программное обеспечение. В COM-модели процессом создания нового объекта ведает не среда программирования и даже не сам объект, а третья (в какой-то степени нейтральная) сторона - фабрика класса (class factories). Именно фабрика целиком и полностью отвечает за распределение памяти для будущего COM-объекта, и при этом, как бы это нам не показалось парадоксальным, о подробностях построения этого объекта не имеет ни малейшего представления.

Для каждого отдельного COM-класса предназначена отдельная фабрика. Для создания нового экземпляра класса фабрика пользуется шаблоном класса, или фабричным образцом (factory pattern). Фабричный образец -это особый класс, применяемый для создания экземпляра другого класса. Таким образом, благодаря «фабричному» подходу процесс создания нового объекта отделяется от особенностей его реализации.


загрузка...
 

Самое популярное:

Наши партнеры

bottom

карта сайта