BOLD - инструмент реализации MDA в Delphi
f65d50f6

Создание графического интерфейса


Итак, к настоящему моменту мы создали основу бизнес-уровня, то есть модель приложения. Дошла очередь до графического интерфейса.

Сразу стоит напомнить об одном важном обстоятельстве, упомянутом в первой части статьи. При работе с Bold следует привыкнуть к наличию бизнес-уровня в вашем приложении, который существует не абстрактно, а заставляет нас использовать специальные компоненты для доступа к каким-либо структурам или данным. Эти компоненты не являются визуальными, а служат своеобразными трансляторами и реализаторами запросов, которые посылает графический уровень к бизнес-уровню для получения от последнего необходимой информации. Впоследствии мы убедимся, что наличие бизнес-уровня обеспечивает чрезвычайную гибкость и удобство, а сейчас используем один из таких невизуальных компонентов для поддержки нашего интерфейса. Перейдем на закладку BoldHandles и поместим на форму компонент BoldListHandle1. В инспекторе объектов установим значение свойства RootHandle равным BoldSystemHandle1 (его можно ввести вручную или выбрать из выпадающего списка).

Для свойства Expression введем выражение Author.allinstances (рис. 11). Кстати, это выражение представляет собой запрос к бизнес-уровню на языке OCL (Object Constraint Language), который в данном случае означает: «хочу получить все экземпляры класса Author». Подробнее об OCL мы поговорим далее.

Теперь создадим собственно графический интерфейс, для чего на закладке BoldControls имеется довольно много компонентов. Мы выберем два из них ? BoldGrid и BoldNavigator, которые являются аналогами соответствующих компонентов доступа к данным со страницы Data Controls. Свойству BoldHandle обоих визуальных компонентов присвоим значение BoldListHandle1, после этого кликнем правой кнопкой мыши на компоненте BoldGrid1 и выберем пункт Create Default Columns (создать столбцы по умолчанию). В результате у компонента BoldGrid1 появится заголовок столбца aname (рис. 12).

Вот и все: мы создали наше первое ? очень простое ? приложение и можем его запустить на выполнение.

Можно также добавлять авторов (рис. 13), удалять или редактировать их. Но, как легко убедиться, после закрытия приложения и его повторного запуска все введенные данные исчезают. Это происходит потому, что наше приложение пока не содержит уровня данных (Persistence Layer).



Содержание раздела