依赖项关系图:参考

在 Visual Studio 中,可以使用依赖项关系图直观显示系统的大致逻辑体系结构。 依赖项关系图可以将系统中的物理项目组织成调用层的逻辑抽象组。 这些层用于描述这些项目执行的主要任务或系统的主要组件。 每一层还可以包含描述更详细的任务的嵌套层。

若要查看支持此功能的 Visual Studio 的版本,请参阅 体系结构和建模工具的版本支持

注意

从 Visual Studio 2019 16.2 版开始,支持 .NET Core 项目的依赖项关系图。

你可以指定各层之间的预期或现有依赖项。 这些依赖项(表示为箭头)指示哪些层可以使用或当前正在使用由其他层表示的功能。 通过将系统组织到描述不同角色和功能的层,依赖项关系图可有助于更轻松地理解、重用和维护你的代码。

使用依赖项关系图帮助你执行以下任务:

  • 传达系统的现有或预期逻辑体系结构。

  • 发现现有代码和预期体系结构之间的冲突。

  • 在重构、更新或改进你的系统时,可视化更改对预期体系结构的影响。

  • 在开发和维护你的代码过程中,通过包括对签入的验证来强化预期体系结构并生成操作。

本主题介绍了可以在依赖项关系图中使用的元素。 有关如何创建和绘制依赖项关系图的更多详细信息,请参阅依赖项关系图:指南。 有关分层模式的详细信息,请访问模式和实践站点

读取依赖项关系图

Elements on dependency diagrams

下表介绍了你可以在依赖项关系图上使用的元素。

形状 元素 说明
1 系统中的物理项目的逻辑组。 这些项目可以是命名空间、项目、类、方法等。

若要查看链接到某个层的项目,请打开该层的快捷菜单,然后选择“查看链接”以打开“层资源管理器”。

有关详细信息,请参阅层资源管理器

- 禁止的命名空间依赖项 - 指定与此层相关联的项目不能依赖于指定的命名空间。
- 禁止的命名空间 - 指定与此层相关联的项目不得属于指定的命名空间。
- 所需的命名空间 - 指定与此层相关联的项目必须属于某个指定的命名空间。
2 依赖项 指示某个层可以使用另一层的功能,但反之则不然。

- 方向 - 指定依赖项的方向。
3 双向依赖项 指示某个层可以使用另一层的功能,反之易然。

- 方向 - 指定依赖项的方向。
4 注释 用于将一般注释添加到关系图或关系图上的元素。
5 注释链接 用于将注释链接到关系图上的元素。

层资源管理器

在解决方案中,如项目、类、命名空间、项目文件和软件的其他部件,你可以将每个层链接到项目。 层上的数字显示链接到该层的项目数。 但是,在读取层上的项目数时,请记住:

  • 如果某个层链接到一个包含其他项目的项目,但该层未直接链接到其他项目,则该数字仅包括链接的项目。 但是,在层验证过程中其他项目包括在分析范围内。

    例如,如果一个层链接到单个命名空间,则链接的项目数是 1,即使该命名空间包含类也是如此。 如果该层还链接到命名空间中的每个类,则该数字将包括链接的类。

  • 如果一个层包含链接到项目的其他层,则容器层也链接到这些项目,即使容器层上的数字不包括这些项目。

有关链接层和项目的详细信息,请参阅:

检查链接的项目

在依赖项关系图上,打开一个或多个层的快捷菜单,然后选择“查看链接”。

“层资源管理器”将打开并显示链接到所选层的项目。 “层资源管理器”有一列显示了项目链接的所有属性。

注意

如果不能查看所有这些属性,请展开“层资源管理器”窗口。

层资源管理器中的列 说明
类别 项目种类,例如类、命名空间、源文件等
链接到该项目的层
支持验证 如果为“True”,则层验证过程可以验证项目是否符合指向或来自此元素的依赖项。

如果为“False”,则该链接不参与层验证过程。

有关详细信息,请参阅依赖项关系图:指南
Identifier 对链接的项目的引用

另请参阅