VS 2010: Граф зависимостей и DGMLИсточник: msugvnua
Чем ближе мы подбираемся к запуску VS2010, те больше я рассказываю про новые понравившиеся возможности, которые появились в 2010 версии. В данном посте, я расскажу о графах зависимостей и поддержке DGML. Генерация графовЯ, почти, уверен, что вы присоединились к команде разработчиков, а не создавали ее. Более того, вы не получили идеальную документацию или архитектуру проектов. Так как же понять с чем мы имеем дело? Вот тут и помогут нам графы зависимостей. Генерация графа зависимостей происходит через меню Architecture>Generate Dependency Graph Generating: В нашем случае, мы рассмотрим диаграмму пространств имен приложения Tailspin. VS пройдет по всем бинарникам приложения в поисках всех зависимостей и сгенерирует DGML-файл. Вид верхнего уровня начинается с зависимостей пространств имен на высшем уровне (сборке): Отсюда мы можем передвигаться по зависимостям и углубляться для получения более детальной информации. Наведя курсор на элементы мы получим о них детальную информацию. Наведя на ссылку, вы также получите дополнительную информацию о ее типе (например, вызов метода). Нажав на кнопку расширения, мы получим граф, который показывает следующий уровень детализации: Вы можете продолжать углубляться, в следующем примере, показаны классы пространства имен: Продолжая двигаться глубже, вы дойдете до исходного кода. Просмотр архитектурыТеперь, когда мы имеем визуальное представление системы, мы можем воспользоваться Architectural Explorer для изучения нашего приложения. Активировать просмоторщик очень просто: Окно просмоторщика позволяет вам углубляться в содержимое, используя фильтрование или переходы. В нашем случае, мы будем искать класс, который содержит "Model" в имени, а потом перейдем к его объявлению: Вы можете скрыть окно в любой момент и продолжить работаь с ним позже. DGMLГраф зависимостей хранится в формате XML, используя DGML DOM. DGML очень прост в использовании (вот простой пример). Если мы откроем граф Tailspin приложения то увидим XML: Все это делает систему невероятно мощной, вы можете воспользоваться DGML-просмоторщиком в Visual Studio для открытия любого DGML-документа, включая те, которые сгенерированные сторонними интсрументами. Например, VS предоставляет файл помощи, который объясняет как пользоваться мышкой в DGML-просмоторщике. Этот файл и сам является DGML-файлом: Существуют много простых способов расширить систему. например, мы внедрили сторонний компонент, который расширяет информацию графа зависимостей данными профайлинга в реальном времени. ИтогиЭто всего-лишь несколько примеров изучения нового программного обеспечения. Вдобавок, чтобы вам было проще понять систему, мы хотим предоставить инструменты, которые позволяют развивать и исправлять архитектуру. Данная поддержка включает возможность описывать логические уровни и применять их с новыми изменениями. |