我有一个相当复杂的应用程序,该应用程序已分解为多个组件。每个组件都有一个包含一堆项目的解决方案文件。因此,我喜欢将其视为一个组件中有多个项目/DLL。还有一个“常见”组件。所有其他组件都取决于“常见”。因此,汇编是这样的:"nant component1.compile" 将编译“ common”,然后编译component1,因为component1取决于“ common”。随着时间的流逝,“普通”变得很大。我很确定它可以分为几个较小的组件。然后,组件只需要依赖于这些较小的“普通”中的一些。有望减少不同组件的编译时间。

所以问题:我想可视化应用程序中所有不同项目之间的依赖关系,同时还标记项目所属的哪个组件。您将如何做?

有帮助吗?

解决方案

工具 ndection 提出了一个依赖关系图,并与依赖关系矩阵结合。默认情况下,您将获得.NET组件的依赖关系图,并且不限于仅一个VS解决方案的组件。 Ndependepent集成在VS 2017、2015、2013、2012、2010中,它可以在您的代码上显示任何类型的图表,包括:

  • 组件之间的依赖项
  • 方法调用图,
  • vs项目中名称空间的依赖项,
  • 命名空间中类型的依赖项,
  • 类继承图,
  • 代表两个组件之间耦合的类的图形

ETC...

这都是解释的 这里.

NDepend code graph dependency diagram

ndectiond也提出了 依赖性结构矩阵(DSM) 和一种方法 查询依赖性c#linq查询.

其他提示

您可以看一下Ndepend: http://www.ndepender.com/

编辑 加上:

帕特里克·史奇亚(Patrick Smacchia), ,Ndepend的首席开发人员,在这里博客: http://codebetter.com/blogs/patricksmacchia/default.aspx 并写了很多关于组件化的主题,您可能会发现有用。

如果您可以访问Visual Studio 2010 最终的, ,您可以选择 Generate Dependency Graph 来自 Architecture 菜单。

MSDN进行了演练: 如何:生成.NET代码的依赖图

我会尝试将其导入到一个UML工具中,该工具可以为我提供模块之间的依赖图。

市场上有几个商业和开源。获取一个为您提供预算功能最大的能力。

如果您可以使用汇编级别的信息,则应查看 图形 受欢迎工具的加载项 反射器. 。它提供汇编和类级依赖关系图。

了解今天早上向我提出了建议(:

http://www.scitools.com/

但老实说,我不能对此提供适当的报告,因为这对我来说太贵了...

查看我的免费DSM插件,适用于.NET Reflector可从中下载 www.tom-carter.net

它允许对您的依赖关系进行两种不同的视图:部署模型,可以找到组件和架构模型之间的依赖项,以显示类型之间的依赖关系。

如果它不以视觉上的方式提供您的查找信息,则可以将模型保存到XML并在数据上运行自己的脚本。

依赖项矩阵的优点是,它比框和线图更容易视觉分析依赖项

如果您需要更多帮助,请让我

更新 该插件现在以视觉工作室加载项的形式获得

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top