Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diploma Prokopenko / 002 Раздел 2.docx
Скачиваний:
13
Добавлен:
06.06.2015
Размер:
496.2 Кб
Скачать
      1. Дескрипторы

При практической разработке MDA-приложений с использованием BMDA дескрипторы занимают, пожалуй, центральное место. Какие бы функции разработчик не реализовывал, будь то вывод информации из объектов в табличном виде, сортировка или фильтрация данных, специальные запросы к СУБД и так далее ­ все эти функции реализуются посредством дескрипторов. Все дескрипторы, представленные на палитре компонентов Bold for Delphi, являются невизуальными компонентами. Их основная функция ­ обеспечение разнообразных информационных связей между объектным пространством, с одной стороны, и графическим интерфейсом и уровнем данных, с другой стороны. Дескрипторы образуют большинство основных элементов структуры внутренних классов, и все они являются потомками класса TBoldElementHandle, который, в свою очередь, происходит от класса TComponent.

Дескрипторы BMDA подразделяются на два основных типа ­ корневые (root) и производные (rooted). Корневые дескрипторы являются, как легко догадаться по их названию, первичными источниками информации об объектном пространстве, в то время как любой производный дескриптор обязательно обладает свойством RootHandle (корневой дескриптор). В качестве значения этого свойства не обязательно должен выступать корневой дескриптор, то есть производные дескрипторы могут объединяться в цепочки, при этом свойство RootHandle последующего члена цепочки указывает на предыдущий член. Однако у первого члена цепочки это свойство должно указывать на корневой дескриптор [6].

По функциональному назначению все дескрипторы можно разделить на следующие основные категории:

  • Дескрипторы ОП ­ обеспечивают взаимодействие с объектным пространством;

  • Дескрипторы уровня данных ­ обеспечивают функционирование интерфейса с СУБД и XML;

  • Дескрипторы удаленного ОП ­ обеспечивают функционирование распределенных многозвенных приложений.

      1. Графический интерфейс

Программная среда разработки Bold for Delphi включает собственные визуальные компоненты, предназначенные для формирования графического пользовательского интерфейса, а также специальные средства управления отображением визуальной информации ­ рендереры. Общая структура взаимодействия бизнес-уровня приложения с графическим интерфейсом может быть описана следующим образом. Информация из бизнес-уровня, доступ к которой обеспечивается посредством дескрипторов объектного пространства, передается на уровень представления (графический интерфейс) посредством рендереров. Рендереры управляют процессом отображения информации, формируя конкретное визуальное представление данных на основе задаваемых разработчиком правил.

Рисунок 2.3 ­ Общая схема взаимодействия бизнес-уровня и графического интерфейса

Наиболее общим свойством каждого визуального MDA-компонента является свойство BoldHandle, представляющее собой ОП-дескриптор (дескриптор объектного пространства). Назначением такого дескриптора является поставка информации для отображения в визуальном компоненте. Для указания конкретного состава информации, получаемой от ОП-дескриптора, каждый визуальный компонент имеет также текстовое свойство Expression, предназначенное для задания OCL-выражения [28].

      1. Renderers

Свойство «Renderer» ряда визуальных MDA-компонентов подключает к визуальному компоненту специальный MDA-компонент с одноименным названием, трудно переводимым на русский язык ­ Renderer («прорисовщик» или «представитель»). Понятие рендеринга включает обработку некоторой информации и ее отображение (прорисовку), и широко применяется, например, в графических ЗD-пакетах. В BMDA это понятие во многом схоже, только под прорисовкой понимается установка некоторых свойств подключенного визуального компонента ­ например, задание цвета, размера и вида шрифта и т. д. Другими словами, рендереры служат для представления информации. Их использование позволяет гибко управлять указанными свойствами визуальных компонентов в зависимости от результата обработки некоторой информации. Причем имеется в виду управление оперативное, то есть свойства отображения задаются на этапе выполнения приложения [6].