![]() |
Технология Клиент-Сервер 2005'3 |
||||||
|
Microsoft Tools for Domain-Specific Languages – это набор средств для создания, редактирования и использования DSL в автоматизации разработки корпоративного ПО. Эти новые средства являются частью нашего взгляда реализации "фабрик ПО" (software factories). Подробнее об этом можно прочитать в Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools (http://msdn.microsoft.com/library/en-us/dnbda/html/softfact3.asp).
Эти средства поддерживаются фреймворком, упрощающим определение модели предметной области и создание пользовательских графических дизайнеров, интегрируемых в Visual Studio. Набор состоит из:
Формат модели предметной области и формат определения дизайнера унаследованы от моделей предметной области, определенных и поддерживаемых с использованием нашей собственной технологии. Генераторы, производящие код дизайнеров и моделей предметной области, используют фреймворк кодогенерации по шаблонам. Дизайнер модели предметной области реализован с использованием нижележащего фреймворка, используемого генераторами кода.
Процесс создания модели предметной области, дизайнера и генератора артефактов показан на рисунке 1. Пунктиром выделены возможности, не реализованные в текущей версии.
Визард запускается из диалогового окна New Project и запрашивает информацию, включающую имя DSL и пространство имен, в котором будет размещен сгенерированный код. Он так же требует выбрать шаблон, на котором будет основан DSL. В текущей версии имеется шесть шаблонов.
Визард генерирует в VS Решение, которое можно использовать, чтобы определить, собрать и запустить дизайнер. В текущей версии ключевыми этапами процесса определения являются:
После определения генерируется код и производится сборка, а дизайнер регистрируется в VS. При сборке и запуске дизайнера из VS открывается еще одна копия VS. Эта копия открывает отладочное Решение, встроенное в Решение, созданное визардом. Это Решение включает пустой файл, который можно использовать для запуска дизайнера. Оно также включает шаблон генерации артефактов, который можно редактировать для генерирования текстовых артефактов по любой модели, созданной в дизайнере. Это инкрементный процесс. Модель предметной области и дизайнер никогда не определяются одновременно, и мы рекомендуем вносить изменения малыми порциями, используя шаги сборки и кодогенерации для проверки и поиска ошибок.
Весь процесс создания модели предметной области и дизайнера описывается следующими шагами:
В следующем разделе мы создадим модель предметной области и дизайнер. На рисунке 2 показан скриншот дизайнера диаграмм процесса взаимодействия с пользователем (user interaction process, UIP), с диаграммой UIP для воображаемого торгового Web-сайта...
Copyright © 1994-2016 ООО "К-Пресс"