Создание схем слоев из кода
Можно визуализирует в высокий уровень программной системы, логической архитектуры путем создания схемы слоев в Visual Studio Ultimate.Чтобы убедиться, что код структуре с этой структурой, проверьте код со схемой слоев в Visual Studio Ultimate или Visual Studio Premium.Можно создавать схемы слоев для проектов Visual C# .NET и Visual Basic .NET.
Выполняемые задачи
Дополнительные сведения о схемах слоев
Создайте схему слоев
Создание слоев из артефактов
Управление ссылками между слоями и артефактами
Реконструирование существующих зависимостей
Правка слои и зависимости для отображения предполагаемой разработки
Измените расположение элементов отображаются на схеме
Дополнительные сведения о схемах слоев
Схема слоев позволяет упорядочить элементы решения в логические группы, называемые абстрактные Visual Studio уровнями. Уровни можно использовать для описания основные задачи, выполняемые этими артефактами или основные компоненты системы.Каждый уровень может содержать другие уровни, описывающие более подробные задачи.Можно также указать предполагаемые или существующих зависимостей между слоями.Эти зависимости, которые представлены в виде стрелки, указывают, какие уровни могут использовать или используют функции представленную другими уровнями.Для обслуживания архитектурноакустического элемента управления кода показать предполагаемые зависимости в схеме, а затем проверять код по схеме.
Пример
Совет |
---|
При создании схемы слоев, имеет смысл создать графы зависимостей, чтобы изучить и понимание кода.Эти графы помогают найти в коде кластеры, шаблоны, естественные слои и зависимости.Это облегчит назначение артефактов слоям.Также можно воспользоваться обозревателем архитектуры, чтобы изучить пространства имен и классы, которые часто находятся в точном соответствии с существующими слоями.Затем схемы слоев можно использовать для обновления кода. Пример |
Создайте схему слоев
Перед созданием схемы слоев, убедитесь, что решение содержит проект моделирования.Дополнительные сведения см. в разделе Практическое руководство. Создание проектов и схем для UML-моделирования.
Важно |
---|
Не следует добавлять, перетаскивать или копировать существующую схему слоев из проекта моделирования в другой проект моделирования или в другое местоположение в решении.Это сохраняет ссылки из исходной схемы, даже при изменении схемы.Это также означает проверку схемы будет работать неправильно, и возможно возникновение прочих проблем, таких как отсутствующие элементы или другие ошибки при попытке открытия схемы. Вместо этого добавьте новую схему слоев в проект моделирования.Скопируйте элементы схемы из источника в новой схеме.Сохраните и проект моделирования и новую схему слоев. |
Добавление новой схемы слоев в проект моделирования
В меню Архитектура выберите пункт Создать схему.
В категории Шаблоны выберите пункт Схема слоев.
Назовите схему.
В области Добавить проект модели выберите существующий проект моделирования в решении.
-или-
Выберите Создать новый проект моделирования, чтобы добавить в решение новый проект моделирования.
Примечание Схема слоя должна существовать внутри проекта моделирования.Однако ее можно связать с элементами в любом другом месте решения.
Убедитесь, что сохранены оба проекта моделирования и схема слоев.
Создание слоев из артефактов
Можно создать слои из элементов решения Visual Studio, например проектами, файлы кода, пространств имен, классов и методов.Это автоматически создаются ссылки между слоями и элементами, включая их в процессе проверки слоев.Можно также связывать уровни к элементам, которые не поддерживают проверку, такие как документы ключевые слова или презентацию PowerPoint, так что можно связать со спецификациями уровень или планами. Чтобы определить, связанный элемент поддерживает проверку, откройте Обозреватель слоев и просмотрите значение свойства Поддерживает проверку элемента.В разделе Управление ссылками с артефактами.
Целевой тип |
Выполните следующие действия |
---|---|
Создать слой для одного артефакта |
Важно
Перетаскивание двоичных файлов в схему слоев не добавляет автоматически в проект моделирования ссылки на них.Необходимо вручную добавить в проект моделирования двоичные файлы, которые нужно проверять.Добавление двоичных файлов в проект моделирования
|
Создание единственного слоя для всех выбранных артефактов |
Перетащите артефакт на схему слоев все одновременно. Слой отображается в схеме и связан со всеми артефактами. |
Создание слоя для каждого выбранного артефакта |
Нажмите и удерживайте клавишу SHIFT, одновременно перетаскивая все артефакты в схему слоев.
Примечание
При использовании клавиши SHIFT для выбора диапазона элементов отпустите клавишу после выбора артефактов.Нажмите и удерживайте ее снова при перетаскивании артефактов в схему.
Слой для каждого артефакта отображается в схеме и связан с каждым артефактом. |
Добавление артефакта в слой |
Перетащите артефакт в слой. |
Создание нового несвязанного слоя |
На Панели инструментов разверните раздел Схема слоя, затем перетащите Слой в схему слоя. Чтобы добавить несколько слоев, дважды щелкните средство.Завершив все операции, выберите средство Указатель или нажмите клавишу ESC. - или - Откройте контекстное меню для схемы слоев, выберите Добавить, а затем выберите Слой. |
Создание вложенных слоев |
Перетащите существующий слой в другой слой. - или - Откройте контекстное меню для слоя, выберите Добавить, а затем выберите Слой. |
Создание нового слоя, который содержит два или более существующих слоев |
Выберите слои, откройте контекстное меню для выделения, а затем выберите Группа. |
Изменение цвета слоя |
Присвойте свойству слоя Цвет в качестве значения необходимый цвет. |
Указание, что артефакт, связанный со слоем, не должен более принадлежать указанному пространству имен |
Введите пространства имен в свойстве слоя Запрещенные пространства имен.Для разделения пространств имен используйте точку с запятой (;). |
Указание, что артефакт, связанный со слоем, не может зависеть от указанного пространства имен |
Введите пространства имен в свойстве слоя Запрещенные зависимости пространства имен.Для разделения пространств имен используйте точку с запятой (;). |
Указание, что артефакт, связанный со слоем, должен принадлежать одному из указанных пространств имен |
Введите пространство имен в свойстве слоя Обязательные пространства имен.Для разделения пространств имен используйте точку с запятой (;). |
Число на слое обозначает количество артефактов, связанных со слоем.Однако при считывании этого числа учитывайте следующее.
Если слой связан с артефактом, содержащим другие артефакты, но слой не связан с другими артефактами напрямую, то число включает только связанный артефакт.Однако для анализа в ходе проверки слоя включаются другие артефакты.
Например, если слой связан с одним пространством имен, то число связанных артефактов равно 1, даже если пространство имен содержит классы.Если слой также связан с каждым классом в пространстве имен, то число будет включать эти связанные классы.
Если слой содержит другие слои, связанные с артефактами, то слой-контейнер также связан с этими артефактами, даже если число в слое-контейнере не включает эти артефакты.
Управление ссылками между слоями и артефактами
На схеме слоев откройте контекстное меню для слоя, а затем выберите Просмотр ссылок.
Обозреватель слоя показывает ссылки артефакта для выбранного слоя.
Для управления этими ссылками можно использовать следующие задачи:
Целевой тип |
В "Обозревателе слоев" |
---|---|
Удалить ссылку между слоем и артефактом |
Откройте контекстное меню для артефакта связи и выберите Удаление. |
Переместить ссылку из одного слоя в другой |
Перетащите ссылку артефакта в существующий слой на схеме. - или -
|
Скопировать ссылку из одного слоя в другой |
|
Создать новый слой из существующей ссылки артефакта |
Перетащите ссылку артефакта в пустую область на схеме. |
Убедитесь, что связанный артефакт поддерживает проверку относительно схемы слоев. |
Просмотрите столбец Поддержка проверки, чтобы найти ссылку артефакта. |
Реконструирование существующих зависимостей
Зависимости существуют там, где артефакт, связанный с одним слоем, ссылается на артефакт, связанный с другим слоем.Например, класс в одном слое объявляет переменную, которая имеет класс в другом слое.Реконструировать существующие зависимости можно для артефактов, связанных со слоями в схеме.
Примечание |
---|
Для определенных видов артефактов реконструировать зависимости невозможно.Например, зависимости не могут быть реконструированы из или в слой, связанный с текстовым файлом.Чтобы увидеть, какие артефакты имеют зависимости, которые можно реконструировать, откройте контекстное меню для одного или нескольких слоев и выберите Просмотреть ссылки.В Обозревателе слоев просмотрите столбец Поддержка проверки.Зависимости не будут реконструированы для артефактов, для которых в данном столбце указано значение False. |
- Выделите один или несколько слоев, откройте контекстное меню для выбранного слоя, а затем выберите Сформировать зависимости.
Как правило, на этом этапе можно увидеть некоторые зависимости, которых быть не должно.Эти зависимости можно отредактировать, для соответствия предполагаемой разработке.
Правка слои и зависимости для отображения предполагаемой разработки
Чтобы описать изменения, которые планируется внести в системе или предполагаемой архитектурой, правка схему слоев:
Целевой тип |
Выполните следующие действия |
---|---|
Изменить или ограничить направление зависимости |
Задайте значение для свойства Направление. |
Создать новые зависимости |
Используйте средства Зависимость и Двунаправленная зависимость. Чтобы нарисовать несколько зависимостей, дважды щелкните средство.Завершив все операции, выберите средство Указатель или нажмите клавишу ESC. |
Указание, что артефакт, связанный со слоем, не может зависеть от указанного пространства имен |
Введите пространства имен в свойстве слоя Запрещенные зависимости пространства имен.Для разделения пространств имен используйте точку с запятой (;). |
Указание, что артефакт, связанный со слоем, не должен более принадлежать указанному пространству имен |
Введите пространства имен в свойстве слоя Запрещенные пространства имен.Для разделения пространств имен используйте точку с запятой (;). |
Указание, что артефакт, связанный со слоем, должен принадлежать одному из указанных пространств имен |
Введите пространство имен в свойстве слоя Обязательные пространства имен.Для разделения пространств имен используйте точку с запятой (;). |
Измените расположение элементов отображаются на схеме
Можно изменить размер, цвет фигуры, и положение слоев или цвета зависимостей можно изменить их свойства.