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


Использование цепочек описателей


До сего момента мы, по сути дела, не сделали ничего принципиально нового по сравнению с рассмотренным в предыдущих частях примером простого приложения, хотя и начали применять возможности OCL-редактора. В этом разделе мы ознакомимся с технологией использования цепочек описателей списков. Поставим перед собой следующую задачу — отобразить в BoldGrid2 только книги, написанные конкретным автором, который выбран в BoldGrid1. Для этого поместим новый описатель списка и назовем его ListAvtorBooks. Принципиальным моментом в данном случае является выбор корневого описателя, в качестве которого логично взять не описатель всего объектного пространства BoldSystemHandle1, а созданный нами ранее описатель списка авторов ListAllAvtors. Тем самым мы формируем цепочку описателей (рис. 7), где каждый последующий элемент ссылается на предыдущий через свойство <Root Handle>.

Присвоим в инспекторе объектов свойству <RootHandle> описателя ListAvtorBooks значение ListAllAvtors и запустим OCL-редактор (рис. 8). Хотя мы еще не ввели никакого OCL-выражения, но в навигационном окне отображаются теперь не все элементы нашей модели, а лишь те, которые относятся к классу <Автор>.

Это и понятно, ведь в качестве корневого описателя, то есть поставщика информации, мы выбрали не все объектное пространство, а лишь один его класс.

И теперь нам осталось дважды кликнуть по названию роли «napisal» и убедиться, что тип возвращаемого результата — это коллекция объектов типа <Книга>. После подключения BoldGrid2 к описателю ListAvtorBooks можно считать, что поставленная задача решена.

Даже на таком простом примере в полной мере проявляется гибкость, предоставляемая средой Borland MDA. В следующей части статьи мы продолжим разработку нашего приложения и более детально ознакомимся с возможностями OCL.

КомпьютерПресс 11'2003

SpyLOG ?aeoeia@Mail.ru


- Начало -  - Назад -