Схемы зависимостей: справочник

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

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

Примечание.

Схемы зависимостей для проектов .NET Core поддерживаются начиная с Visual Studio 2019 версии 16.2.

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

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

  • представлять существующую или предполагаемую логическую архитектуру системы;

  • выявлять конфликты между существующим кодом и предполагаемой архитектурой;

  • визуализировать влияние изменений на предполагаемую архитектуру при рефакторинге, обновлении или развитии системы;

  • дополнительно контролировать предполагаемую архитектуру в процессе разработки и обслуживания кода за счет добавления проверки операций возврата и построения.

В этом разделе описываются элементы, которые можно использовать на схеме зависимостей. Дополнительные сведения о создании и рисовании схем зависимостей см. в разделе "Схемы зависимостей: рекомендации". Дополнительные сведения о шаблонах слоев см. на сайте "Шаблоны и практики".

Чтение схем зависимостей

Elements on dependency diagrams

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

Формы Element Description
1 Слой Логическая группа физических артефактов в системе. Артефактами могут быть пространства имен, проекты, классы, методы и т. п.

Чтобы просмотреть артефакты, связанные с слоем, откройте контекстное меню слоя, а затем выберите "Просмотреть ссылки", чтобы открыть Обозреватель слоя.

Дополнительные сведения см. в разделе "Уровень Обозреватель".

- Запрещенные зависимости пространства имен — указывает, что артефакты, связанные с этим уровнем, не могут зависеть от указанных пространств имен.
- Запрещенные пространства имен — указывает, что артефакты , связанные с этим уровнем, не должны принадлежать указанным пространствам имен.
- Обязательные пространства имен— указывает, что артефакты , связанные с этим слоем, должны принадлежать одному из указанных пространств имен.
2 Зависимость Указывает, что один слой может использовать функции другого слоя, но не наоборот.

- Направление — указывает направление зависимости.
3 Двунаправленная зависимость Указывает, что один слой может использовать функции другого слоя и наоборот.

- Направление — указывает направление зависимости.
4 Комментарий Используется для добавления общих примечаний к схеме или ее элементам.
5 Ссылка на комментарий Используется для связи комментариев с элементами на схеме.

Уровень Обозреватель

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

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

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

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

Дополнительные сведения о связывании слоев и артефактов см. в разделах:

Изучение связанных артефактов

На схеме зависимостей откройте контекстное меню для одного или нескольких слоев и выберите пункт "Просмотреть ссылки".

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

Примечание.

Если вы не видите все эти свойства, разверните окно уровня Обозреватель.

Столбец на уровне Обозреватель Description
Категории Вид артефакта, например класс, пространство имен, исходный файл и т. д.
Слой Связанный с артефактом слой
Поддерживает проверку Если значение True, то процесс проверки слоя может убедиться, что проект соответствует зависимостям или от этого элемента.

Если значение false, ссылка не участвует в процессе проверки слоя.

Дополнительные сведения см. в разделе "Схемы зависимостей: рекомендации".
Идентификатор Ссылка на связанный артефакт

См. также