Поделиться через


Практическое руководство. Создание схем слоев из артефактов

В Visual Studio Ultimate пользуйтесь схемами слоев для визуализации высокоуровневой архитектуры системы, а также для проверки кода на соответствие данной разработке. Чтобы выполнить эту задачу, организуйте и присвойте артефакты решения Visual Studio логическим, абстрактным группам или слоям. Эти слои описывают основные задачи, выполняемые артефактами, или основные компоненты системы.

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

Элементы на схемах слоев

Для получения дополнительных сведений о схемах слоев см. следующие разделы:

В этом разделе

  • Создание схемы слоев.

  • Создание слоев из существующих артефактов.

  • Управление ссылками между слоями и артефактами.

  • Реконструирование существующих зависимостей.

  • Обновление схемы слоя для отображения предполагаемой разработки.

  • Изменение внешнего вида элементов схемы.

Создайте схему слоев

Схема слоев должна создаваться внутри проекта моделирования. Можно добавить новую схему слоев в существующий проект моделирования или создать в решении новый проект моделирования для новой схемы слоев.

Добавление новой схемы слоев в проект моделирования

  1. В меню Архитектура выберите пункт Создать схему.

  2. В категории Шаблоны выберите пункт Схема слоев.

  3. Назовите схему

  4. В области Добавить проект модели выберите существующий проект моделирования в решении.

    – или –

    Щелкните Создать новый проект моделирования, чтобы добавить в решение новый проект моделирования.

    Примечание

    Схема слоя должна существовать внутри проекта моделирования.Однако ее можно связать с артефактом, который существует в любом другом месте решения.

Можно также скопировать существующую схему слоев внутри того же проекта моделирования.

Примечание

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

Для копирования схемы слоев выполните следующие действия.

Копирование существующей схемы слоев

  1. Добавьте новую схему слоев в проект моделирования.

  2. Скопируйте элементы из исходной схемы слоев в новую схему.

Создание слоев из артефактов

Слои в решении Visual Studio можно создавать из артефактов, таких как проекты, файлы кода, пространства имен, классы и методы. При этом автоматически создаются ссылки между слоями и артефактами, которые включены в процесс проверки слоев. Слои можно также связывать с некоторыми типами артефактов, которые не поддерживают проверку слоев. Например, можно связывать слои с файлами, такими как документы Word или презентации PowerPoint. Это полезно для присвоения спецификаций или планов каждому слою. Чтобы увидеть, поддерживает ли артефакт проверку, откройте Обозреватель слоев и исследуйте свойство ссылки артефакта Поддержка проверки. Дополнительные сведения см. в разделе Управление ссылками на артефакты.

Каждый слой отображается в схеме как прямоугольник и может содержать вложенные слои, описывающие более подробные задачи. Дополнительные сведения о шаблонах уровней см. на веб-сайте Patterns & Practices.

Число на слое обозначает количество артефактов, связанных со слоем. Однако при считывании этого числа учитывайте следующее.

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

    Например, если слой связан с одним пространством имен, то число связанных артефактов равно 1, даже если пространство имен содержит классы. Если слой также связан с каждым классом в пространстве имен, то число будет включать эти связанные классы.

  • Если слой содержит другие слои, связанные с артефактами, то слой-контейнер также связан с этими артефактами, даже если число в слое-контейнере не включает эти артефакты.

При создании схемы слоев можно создать графы зависимостей, чтобы облегчить изучение и понимание кода. Эти графы помогают найти в коде кластеры, шаблоны, естественные слои и зависимости. Это облегчит назначение артефактов слоям. Также можно воспользоваться обозревателем архитектуры, чтобы изучить пространства имен и классы, которые часто находятся в точном соответствии с существующими слоями. Затем схемы слоев можно использовать для обновления кода.

Дополнительные сведения см. в следующих разделах.

Используйте следующие задачи для создания слоев:

Целевой тип

Выполните следующие действия

Создать слой для одного артефакта

  1. Перетащите артефакт на схему слоев из любого из следующих источников.

  2. Переименуйте слой, чтобы отразить обязанности связанного кода или артефактов.

Создание единственного слоя для всех выбранных артефактов

Одновременно перетащите в схему слоя все артефакты.

Слой отображается в схеме и связан со всеми артефактами.

Создание слоя для каждого выбранного артефакта

Нажмите и удерживайте клавишу SHIFT, одновременно перетаскивая все артефакты в схему слоев.

ПримечаниеПримечание
При использовании клавиши SHIFT для выбора диапазона элементов отпустите клавишу после выбора артефактов.Нажмите и удерживайте ее снова при перетаскивании артефактов в схему.

Слой для каждого артефакта отображается в схеме и связан с каждым артефактом.

Добавление артефакта в слой

Перетащите артефакт в слой.

Создание нового несвязанного слоя

На Панели инструментов разверните раздел Схема слоя, затем перетащите Слой в схему слоя.

Чтобы добавить несколько слоев, дважды щелкните средство. Завершив все операции, выберите средство Указатель или нажмите клавишу ESC.

— или —

Щелкните правой кнопкой мыши схему слоя, укажите Добавить, затем выберите пункт Слой.

Создание вложенных слоев

Перетащите существующий слой в другой слой.

— или —

Щелкните слой правой кнопкой мыши, укажите Добавить, затем выберите пункт Слой.

Создание нового слоя, который содержит два или более существующих слоев

Выделите слои, щелкните выделенные слои правой кнопкой мыши, затем щелкните Группировать.

Изменение цвета слоя

Присвойте свойству слоя Цвет в качестве значения необходимый цвет.

Указание, что артефакт, связанный со слоем, не должен более принадлежать указанному пространству имен

Введите пространства имен в свойстве слоя Запрещенные пространства имен. Для разделения пространств имен используйте точку с запятой (;).

Указание, что артефакт, связанный со слоем, не может зависеть от указанного пространства имен

Введите пространства имен в свойстве слоя Запрещенные зависимости пространства имен. Для разделения пространств имен используйте точку с запятой (;).

Указание, что артефакт, связанный со слоем, должен принадлежать одному из указанных пространств имен

Введите пространство имен в свойстве слоя Обязательные пространства имен. Для разделения пространств имен используйте точку с запятой (;).

Управление ссылками между слоями и артефактами

  1. На схеме слоев щелкните слой правой кнопкой мыши и выберите Просмотреть ссылки.

    Обозреватель слоя показывает ссылки артефакта для выбранного слоя.

  2. Для управления этими ссылками можно использовать следующие задачи:

Целевой тип

В "Обозревателе слоев"

Удалить ссылку между слоем и артефактом

Щелкните ссылку артефакта правой кнопкой мыши и выберите Удалить.

Переместить ссылку из одного слоя в другой

Перетащите ссылку артефакта в существующий слой на схеме.

— или —

  1. Щелкните ссылку артефакта правой кнопкой мыши и выберите Вырезать.

  2. На схеме слоев щелкните этот слой правой кнопкой мыши и выберите Вставить.

Скопировать ссылку из одного слоя в другой

  1. Щелкните ссылку артефакта правой кнопкой мыши и выберите Копировать.

  2. На схеме слоев щелкните этот слой правой кнопкой мыши и выберите Вставить.

Создать новый слой из существующей ссылки артефакта

Перетащите ссылку артефакта в пустую область на схеме.

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

Просмотрите столбец Поддержка проверки, чтобы найти ссылку артефакта.

Реконструирование существующих зависимостей

Зависимости существуют там, где артефакт, связанный с одним слоем, ссылается на артефакт, связанный с другим слоем. Например, класс в одном слое объявляет переменную, которая имеет класс в другом слое. Реконструировать существующие зависимости можно для артефактов, связанных со слоями в схеме.

Примечание

Для определенных видов артефактов реконструировать зависимости невозможно.Например, зависимости не могут быть реконструированы из или в слой, связанный с текстовым файлом.Чтобы увидеть, какие артефакты имеют зависимости, которые можно реконструировать, щелкните правой кнопкой мыши один или несколько слоев и выберите Просмотреть ссылкиОбозревателе слоев просмотрите столбец Поддержка проверки.Зависимости не будут реконструированы для артефактов, для которых в данном столбце указано значение False.

Реконструирование существующих зависимостей между слоями

  • Выделите один или несколько слоев, щелкните выделенный слой правой кнопкой мыши и выберите Сформировать зависимости.

Как правило, на этом этапе можно увидеть некоторые зависимости, которых быть не должно. Эти зависимости можно отредактировать, для соответствия предполагаемой разработке.

Обновление схемы для отображения предполагаемой разработки

Чтобы отобразить изменения, которые планируется внести, или необходимую архитектуру, обновите схему слоя.

Целевой тип

Выполните следующие действия

Удалить зависимость, которой не должно быть

Щелкните зависимость и нажмите клавишу DELETE.

Изменить или ограничить направление зависимости

Задайте значение для свойства Направление.

Создать новые зависимости

Используйте средства Зависимость и Двунаправленная зависимость.

Чтобы нарисовать несколько зависимостей, дважды щелкните средство. Завершив все операции, выберите средство Указатель или нажмите клавишу ESC.

Указание, что артефакт, связанный со слоем, не может зависеть от указанного пространства имен

Введите пространства имен в свойстве слоя Запрещенные зависимости пространства имен. Для разделения пространств имен используйте точку с запятой (;).

Указание, что артефакт, связанный со слоем, не должен более принадлежать указанному пространству имен

Введите пространства имен в свойстве слоя Запрещенные пространства имен. Для разделения пространств имен используйте точку с запятой (;).

Указание, что артефакт, связанный со слоем, должен принадлежать одному из указанных пространств имен

Введите пространство имен в свойстве слоя Обязательные пространства имен. Для разделения пространств имен используйте точку с запятой (;).

Изменение внешнего вида элементов схемы

Чтобы облегчить идентификацию зависимостей или описать их членам команды, отредактируйте внешний вид схемы следующим способом:

  • измените размеры, фигуры и положения слоев;

  • измените цвета слоев и зависимостей.

    1. Выберите слои и зависимости.

    2. Правой кнопкой мыши выделите слои или зависимости и выберите Свойства.

    3. В окне Свойства измените свойство Цвет.

См. также

Основные понятия

Визуализация существующего кода.