Безусловно, описание источников данных имеет важное значение для системы PowerM™. Однако, в реальном мире создания информационных систем часто встречаются случаи, когда в рамках одной физической структуры данных могут быть описаны разные объекты, или сущности.
В качестве примера можно привести таблицу, содержащую описание документов движения материальных ценностей в складском учете. Как известно, операции движения ТМЦ внутри складского хозяйства, а, следовательно, и документы их отражающие, укрупненно можно разбить на три группы: приходные, расходные и внутреннего перемещения. При проектировании и реализации системы по учету товарооборота удобнее всего хранить такие документы в одной физической таблице базы данных, присвоив определенный признак одной из ее колонок. К такому подходу, чаще всего "принуждает" архитектура реляционных баз данных, тем более, что и сами документы имеют много общих реквизитов. Тем не менее, каждый вид документа, может обладать уникальными свойствами, реакцией на действия пользователя, и уж точно своей индивидуальной печатной формой. Таким образом, одного понятия источник данных становится недостаточно для более детального описания свойств и поведения объектов реального мира. В противном случае, такая дополнительная детализация источника данных может привести к его излишней перегруженности.
Решение этой проблемы в PowerM™ реализовано в виде создания отдельного класса объектов проектирования - сущность, а, следовательно, и механизма наполнения его конкретными экземплярами. Сущность, в свою очередь назначается, какой-либо Query-модели.
Вообще-то, выделение и описание сущностей - есть неотъемлемая часть ООАП и этот процесс должен выполняться на ранней стадии концептуального проектирования любой прикладной системы.
Понятию сущность наиболее близко другое понятие: бизнес - объект. Забегая вперед, скажем, что в Combo они непосредственно связаны между собой.
На следующем рисунке представлен экранный снимок редактора объекта класса Сущность:
В реальном мире, объекты постоянно взаимодействуют между собой, т.е. между ними устанавливаются некоторые отношения. Эта направленная связь между сущностями также нашла свое отражение в системе PowerM™ в виде объектов-ассоциаций. Последние устанавливают логическую взаимосвязь между различными сущностями по принципу многие-ко-многим, а в пользовательском интерфейсе отражаются в виде всплывающего меню переходов, доступном по команде Главного меню Окружение.
Таким образом, имея два новых объекта проектирования, сущность и отношение, можно более точно описать свойства и поведение объектов реального мира.
На следующем рисунке изображена связь между источником данных, сущностями и отношениями между ними:
Свойства объекта Сущность
Свойство | Описание |
Таблица | Основная используемая таблица (источник данных) |
Код | Краткое обозначение объекта. Ввод обязателен |
Наименование | Полное наименование объекта |
Описание | Дополнительная информация об объекте |
Условие отбора | Необязательное условие, по которому отбираются строки из основной таблицы. |
Действия | |
List | Модель, отображаемая при необходимости вывода строк источника в табличном виде |
DropDown | Модель, визуальное представление которой отображается на экране при необходимости вывода диалогового окна справочника |
View | Модель, вызываемая для отображения свойств текущей записи в режиме READONLY |
Edit | Модель, вызываемая для отображения редактируемых свойств текущей записи |
Модель, отображаемая при вызове команды Главного меню Функции>Печатные формы. Данное действие может быть переопределено в событии showDocument класса контроллера родительской визуальной модели | |