Я просто слушал некоторые старые .Net Rocks! эпизоды, и я нашел # 329 на DSL, чтобы быть интересным. Моя проблема в том, что я не могу найти хороших онлайн-ресурсов для людей, пытающихся изучить эту технологию. Я получаю основы создания новых дизайнеров, но отсутствуют документы MS на движок T4, используемые инструментами DSL, а также способы интеграции шаблонов с моделями DSL.
Кто-нибудь знает некоторые хорошие вводные ресурсы для инструментов MS DSL?
Архитекторы команды DSL Tools написали книгу « Разработка для конкретных областей с помощью Visual Studio DSL Tools». На сайте книги есть и другие ссылки и ресурсы.
Поскольку вы смотрите в мир MS, вы можете захотеть взглянуть на F # . Он предлагает возможность расширять свой синтаксис для написания специфичных для домена языков (см. Эту ссылку , стр. 16 для примера кода).
Если вы заинтересованы в DSL, Джефф Мозер написал несколько замечательных статей о них (и о «мета» настроении, которые вам нужны) здесь, здесь и здесь, в своем блоге.
Мартин Фаулер в настоящее время пишет книгу о DSL. Вот презентация, которую он дал по теме.
Фантастический вариант для DSL - Boo . Я использовал его для таких вещей, как настройка контейнера IoC, определение маршрутов, правила проверки. Ayende Rahien пишет фантастическую книгу на тему Мэннинга под названием « Построение доменных языков в Boo»
Мартин Фаулер пишет книгу о DSL. Вы можете прочитать его работу здесь http://www.martinfowler.com/dslwip/
Я также пошел на хорошую презентацию Джея Филдса (его слайды здесь ).
Я нашел следующую страницу с несколькими веб-трансляциями очень полезными:
Я бы порекомендовал http://msdn.microsoft.com/en-us/vsx/cc677256.aspx для DSL Tools для начинающих.
Также ознакомьтесь с концепцией MDSD (Model Driven Development). Эксперт по этой теме (и DSL) - Маркус Фольтер: http://www.voelter.de/
Я полагаю, что между MDSD, Software Production Lines и DSL в целом существует так много общего, что этот «новый» способ ведения дел должен очистить его концепции. Это одна из причин, почему трудно найти хорошую информацию по теме.
С другой стороны, acm.org имеет обширную цифровую библиотеку научных статей, статей из различных конференций (таких как OOPSLA), где вы можете найти много информации о DSL, языковых схемах, SPL, MDSD и так далее.
Для меня лучшим источником примеров T4 был этот блог.
Вот еще несколько сайтов, которые я считаю полезными:
Для инструментов Visual Studio DSL (инструментов для добавления графических DSL в Visual Studio) здесь есть вводные практические занятия: http://code.msdn.microsoft.com/Visualization-and-Modeling-313535db
Домашняя страница для инструментов со ссылками на другие образцы находится здесь: http://archive.msdn.microsoft.com/vsvmsdk