(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

VS 2010: Валидация архитектуры приложения

Источник: msug

В своем прошлом посте про понравившиеся возможности я рассказывал про граф зависимостей, доступного в VS 2010 Ultimate Edition. Дальше по списку у меня - валидация структуры приложения, следующий шаг для улучшений вашей архитектуры.

Построение диаграммы структуры

Мы воспользуемся тестовым приложением Tailspin с предыдущего поста. Теперь, когда я понял базовую структуру приложения, я хотел бы прикрутить его к своей архитектуре. В нашем случае приложение написано, используя паттерн MVC. Давайте убедимся в этом. Для этого добавим новую диаграмму структуры через меню Architecture:

 

Я получу пустую диаграмму структуры, где смогу определить слои моей архитектуры. Немного попотев, мы получим все основные слои:

Вроде, не плохая архитектура получилась, но нам нужно понять, как физическая реализация имеет реальную связь с этой логической архитектурой. Для этого, мы можем перетянуть на соответствующий слой нужные классы, которые отвечают за его реализацию.

После расстановки классов по нужным слоям, вы можете попросить систему выяснить связи, нажав правой кнопкой по поверхности конструктора, выбрав Generate Dependencies:

После данной операции, вы получите представленную ниже диаграмму. Просмоторщик структуры, может быть использован для просмотра содержания каждого слоя:

Обновление вашей имплементации

На данном этапу у нас есть диаграмма, описывающая физическое строение. Но вот проблема - в MVC паттерне, мы не хотим, чтобы представление общалось напрямую с моделью. Такое часто случается, если кто-то пишет код, который работает напрямую со слоем данных, а не через бизнес логику (такую ошибку легко допустить). Давайте это исправим, удалив линию:

После этого, мы нажмем правой кнопкой по графу и выберем Validate Architecture:

Visual Studio проанализирует все связи и будет искать те, которые нарушают или не соответствуют диаграмме структуры, помещая их в список ошибок:

У нас появилась возможность, пройтись по коду и исправить вкравшиеся ошибки, и повторять шаг Validate Architecture до тех пор, пока не исчезнут все ошибки.

Укрепление структуры в билде

Итак, мы получили чистую архитектуру и соответствующую реализацию. Все мы знаем, что может произойти дальше - задачи выполнены, баги исправлены и код снова пойдет в рознь с архитектурой. Нужно как-то синхронизировать это дело.

Добавив новое определение в билд TFS, которое использует Gated Check-in, мы укрепим архитектуру:

Когда вы используете Gated Check-in, все изменения, которые вы отправляете в TFS, должны будут пройти сперва тесты (отсутствие ошибок, пройти набор тестов и т.п.). В таком случае, если у вас возникли ошибки, изменения не применяются и не попадают в ваш билд. Мы добавим еще один шаг в в закладке Process:

Теперь так же и билд будет производить валидацию архитектуры.

Итоги

Существуют несколько ключевых понятий:

  • Если вы создаете новый код, то можете начать с логического проектирования и спокойно работат дальше.
  • Если вы начали работать с уже существующим активами, то можете узнать что вы получили и продолжете работать, добиваясь идеального логического проектирования.
  • Получив один раз физическую и логическую синхронизацию, вы сможете автоматизировать этот шаг (gated check-in)

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 09.03.2010 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Windows Professional 10, Электронный ключ
Microsoft 365 Business Basic (corporate)
Microsoft 365 Business Standard (corporate)
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Delphi - проблемы и решения
Corel DRAW - от идеи до реализации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100