В первой части я рассказывал как «оживить» формы eXpressApp Framework путем добавления простых бизнес правил (контроль данных, управление подсветкой, доступностью и видимостью полей), используя атрибуты в коде бизнес сущностей. В этой части я расскажу о том, как решить эту задачу путем настройки метамодели XAF приложения aka Application Model, а также, собственно, расскажу о том, зачем еще эта метамодель нужна и как она устроена изнутри (забегая вперед, скажу, что она очень напоминает головку лука). Не забуду я и про широкие возможности расширения метамодели разработчиками, ее редактирование конечными пользователями через визуальный редактор Model Editor и многое другое. Я также думаю, что прочитав эту статью, вы возможно обнаружите некоторое сходство метамодели XAF, а также языка ее описания XAFML, со всеми известными CSS и XAML (а также QML, LSML и др.), а также глубинными идеями, заложенными в эти технологии. Всем, кто не побоится познакомиться поближе со столь необычным продуктом отечественного велосипедостроения (кстати, написанным до появления аналогов у Microsoft), прошу пожаловать под кат.
Рубрика «LOB»
«Умные» формы eXpressApp Framework (XAF). Часть 2 — Метамодель UI приложения
2012-10-05 в 14:17, admin, рубрики: .net, devexpress, LOB, xaf, Блог компании DevExpress, Программирование, метки: .net, devexpress, LOB, xaf«Умные» формы eXpressApp Framework (XAF). Часть 1
2012-03-22 в 8:13, admin, рубрики: .net, devexpress, framework, LOB, xaf, Блог компании DevExpress, Программирование, метки: .net, devexpress, framework, LOB, xaf Прочитав обзор «Что нужно от форм?», мне захотелось рассказать, как в нашем фреймворке для быстрого создания LOB приложений eXpressApp Framework устроены «универсальные, динамически изменяемые формы».
В первой части моего рассказа я продемонстрирую реализацию элементов динамики на примере популярных задач фильтрации значения, управления видимостью и доступностью, а также контроля данных полей на форме вот такого вот необычного бизнес объекта:
[DomainComponent]
public interface ICustomer : IOrganization, IAccount { }