prerequisites - microsoft › media... · web viewДля выполнения...

18
Лабораторная работа Взаимосвязь классов в Visual Studio Ultimate 2013 Lab version: 12.0.21005.1 Last updated: 12/17/2013

Upload: others

Post on 25-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Лабораторная работаВзаимосвязь классов в Visual Studio Ultimate 2013Lab version: 12.0.21005.1

Last updated: 12/17/2013

Page 2: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

СОДЕРЖАНИЕ

РЕЗЮМЕ.................................................................................................................................................... 3

УПРАЖНЕНИЕ 1: ИСПОЛЬЗОВАНИЕ ГРАФИКОВ ЗАВИСИМОСТЕЙ ДЛЯ ВИЗУАЛИЗАЦИИ ВЗАИМОСВЯЗЕЙ МЕЖДУ КЛАССАМИ..................................................................................................3

УПРАЖНЕНИЕ 2: ВЫЯВЛЕНИЕ ЦИРКУЛЯРНЫХ ССЫЛОК..............................................................13

Page 3: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

РезюмеПонимание взаимосвязей между классами в большом проекте может быть сложным процессом. Из этой лабораторной работы вы научитесь использовать диаграммы DGML (Directed Graph Markup Language) в Visual Studio Ultimate 2013 для анализа кодовой базы и взаимосвязей между классами.

Prerequisites

Для выполнения лабораторной работы вам понадобится виртуальная машина с Visual Studio 2013. Подробнее про то, где загрузить и как ее использовать, здесь .

Перед выполнением этой лабораторной работы рекомендуется пройти “Code Discovery using the Architecture Tools in Visual Studio Ultimate 2013”.

УпражненияЭта лабораторная работа включает в себя следующие упражнения:

1. Использование графиков зависимостей для визуализации взаимосвязей между классами

2. Выявление циркулярных ссылок

Примерное время выполнения лабораторной работы: 30 минут.

1: Упражнение Использование графиков зависимостей для

визуализации взаимосвязей между классами

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

1. Войдите под аккаунтом Julia (VSALM\Julia). Пароль: P2ssw0rd.

2. Запустите Visual Studio 2013 и откройте Team Explorer.

Page 4: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

3. Нажмите на Connect to Team Projects.

Изображение 1Подключение к командному проекту

4. В Team Explorer – Connect нажмите два раза на Tailspin Toys.

Изображение 2Проект Tailspin Toys

5. В Team Explorer – Home нажмите два раза на третьем решении TailspinToys (ветка Main).

Изображение 3Решение Tailspin Toys

6. Пересоберите решение (Build | Rebuild Solution).

7. Создайте новый график взаимосвязей (Architecture | Generate Dependency Graph | For Solution). График хранится в формате Directed Graph Markup Language (DGML), который позволяет работать с ним из Visual Studio 2013 и других стандартных инструментов.

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

Page 5: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 4График взаимосвязей

8. Разверните Tailspin.Model.dll для просмотра пространств имен.

Изображение 5График взаимосвязей

9. Разверните Tailspin.Model.

Page 6: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 6Узел на графике

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

10. Нажмите на Quick Clusters Layout для просмотра всех классов и их взаимосвязей.

Изображение 7Опция Quick Clusters Layout

Page 7: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 8Представление типа Quick Clusters сгенерированного графика

Примечание: то, что сделаете вы, может отличаться от скриншотов.

11. Представление Quick Clusters дает представление о количестве классов в проектах TailspinToys и степень их связей. Найдите в нем узел по классу Product. Есть два способа сделать это.

Page 8: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

12. Первая опция – приблизить изображение так, чтобы класс Product было четко видно.

Примечание: приближение можно выбрать из выпадающего окна Zoom

Изображение 9Приближение

13. Второй способ – произвести поиск, нажав CTRL+F и введя в появившееся текстовое поле Product. Нажимайте F3, пока нужный класс Product не будет подсвечен как выбранный.

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

Page 9: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 10Поиск класса Product

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

14. Увидеть прямые взаимосвязи можно, выбрав узел Product, но разобраться, какие из них исходящие, а какие входящие, сложно. Измените режим графика на Top to Bottom Layout.

Изображение 11Режимы графика

Page 10: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 12Режим Top to Bottom

15. Этот режим показывает входящие линии сверху, исходящие – снизу. Уже лучше, но есть визуальные помехи, например, взаимосвязь между классом Product и сборкой Tailspin.Test.Model. Нажмите на Layout | Advanced | Hide All Cross-Group Links.

Изображение 13Скрытие всех кроссгрупповых ссылок

Page 11: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 14График

16. Вернитесь в режим Quick Clusters.

Изображение 15Режим Quick Clusters без кроссгрупповых ссылок

17. Нажмите на взаимосвязи между Product и OrderLine.

Page 12: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 16Данные о взаимосвязи между классами

18. Для просмотра включенных в эту взаимосвязь ссылок нажмите правой кнопкой на линии и выберите Advanced | Show Contributing Links on New Code Map.

Изображение 17

Page 13: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Выявление участвующих во взаимосвязи ссылок

19. Новый график показывает всех членов класса OrderLine, участвующих во взаимосвязи с Product.

Изображение 18Детализированное представление взаимосвязи

2: Упражнение выявление циркулярных ссылок

Page 14: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

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

1. Вернитесь в исходный график (AssemblyDependencies1.dgml) и убедитесь, что Product виден.

Изображение 19График взаимосвязей с выбранным узлом Product

2. Нажмите на Legend.

Изображение 20Кнопка Legend

3. Нажмите на + в нижней части Legend для просмотра доступных для добавления на диаграмму опций.

Page 15: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 21Кнопка + в Legend

4. Нажмите на Analyzer | Circular References для добавления компонента на график. Этот компонент будет работать, даже если вы измените график.

Page 16: Prerequisites - Microsoft › media... · Web viewДля выполнения лабораторной работы вам понадобится виртуальная машина

Изображение 22Добавление компонента Circular References analyzer

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

Изображение 23График с циркулярными ссылками между классами

To give feedback please write to [email protected]

Copyright © 2023 by Microsoft Corporation. All rights reserved.