Layer Diagram - планирование и проверка архитектуры решений в Visual Studio 2010

В прошлый раз я рассказал о диаграммах зависимостей (Dependency Graph) и языке DGML. Еще один важный архитектурный инструмент, появившийся в Visual Studio 2010 – Layer Diagram.

Layer_Diagram

Этот инструмент решает несколько связанных задач:

  1. дизайн/документирование архитектуры – из каких модулей состоит система, какой код/компоненты (те же сборки, dll) какой реализуют модуль;
  2. анализ фактических зависимостей между различными компонентами/модулями решения и их отображение в качестве связей между архитектурными блоками (уровнями, слоями - layers) с целью дальнейшей проверки соблюдения принятых архитектурных решений (см. след. пункт 3);
  3. проверка решения на соответствие архитектуре, т.е. не нарушаются ли запланированные связи между модулями (layers), что в частности может повлиять на конфигурацию развертывания (deployment) системы на реальной инфраструктуре. Причем, такую проверку можно делать не только непосредствено в среде, но и в процессе автоматического билда решения.

При этом вы можете не просто “прорисовать” композицию модулей создаваемой или анализируемой для модификации системы. Существует возможность создания и применения как собственных высокоуровневых (т.е. уровня приложения в целом) архитектурных шаблонов, так и использования внешних шаблонов.

image_thumb[1]Кроме того, команда Microsoft p&p (patterns & practices), после недавнего выпуска 2-й редакции Руководства Microsoft по проектированию архитектуры приложений , опубликовала в Visual Studio Gallery и базовый набор архитектурных шаблонов:

Application Architecute Guide
Layer Diagrams

После установки этого расширения в среду Visual Studio в её инструментальной панели Layer Diagram становятся доступны соответствующие шаблоны, которые при необходимости просто переносятся drag-n-drop в дизайнер для дальнейшего использования и связывания с кодом солюшена.

image_4[1]

Кроме того, уже стали публиковаться и другие шаблоны, например, Architecture layers patterns toolbox items, также основанные на этом архитектурном руководстве.

Наконец, спроектировав архитектуру будущего решения, вы можете поделиться с другими членами команды, не только включив сответствущую диаграмму в качестве элемента Model project, помещаемого в TFS. Вы можете сохранить подготовленые диаграммы щаблонов для структуры тех или иных модулей системы и передать колегами, которые их установят непосредствнно в среду Visual Studio – необходимые шагиописаны в блоге Камерона Скинера (лидер команды архитектурных инструментов Visual Studio). Ну а как начать работу с Layer Diagram можно прочитать, например, в отличном материале Visual Studio 2010: How to maintain control of your code using Layer Diagrams, custom MSBuild tasks, and work item integration.