在.NET中调试依赖注入。

9 浏览
0 Comments

在.NET中调试依赖注入。

使用依赖注入时,代码阅读变得更加困难,因为到处都有接口。例如,在Visual Studio中,你不能只是按F12(转到定义),因为那只会带你去到接口。你需要知道哪个类被配置为使用。

有没有插件或类似的工具能够简化这个过程?

你们是如何处理这个问题的?

0
0 Comments

在Visual Studio 2015及更高版本中,您可以按下CTRL + F12,这将直接跳转到实现(如果只有一个实现),否则将提示选择实现的列表。这使得在IDE内部导航代码变得很容易。

有一个名为Agent Mulder的ReSharper插件,它可以将ReSharper与依赖注入库集成。它允许您查看正在使用哪些类,并允许您直接跳转到接口的配置或其实现。

但是说实话,使用DI调试代码并没有变化,因为您仍然可以在调试时进入方法调用,就像您习惯的那样。

我发现在一个良好设计的应用程序中,在浏览代码时,我发现自己跳转的次数较少,而是在一个新功能上工作时通过代码导航。这通常是因为我为该功能编写的新类在不需要了解其依赖关系的情况下相当正常地工作。这并不是说DI立即导致良好设计的代码,但它只是您工具箱中的另一个工具,可以帮助使代码更易于维护。

但即使浏览代码和调试变得(有点)困难,能够插入新功能,添加横切关注点,并能够测试应用程序将对应用程序的整体质量和可维护性产生巨大的积极影响。

谢谢,我会查看的。我主要对当浏览其他人编写的代码时感兴趣。例如,当接管一个项目维护的应用程序时。能够在不经常进行调试的情况下导航代码非常重要。根据我的经验,应用程序通常设计得不好 🙁

: 我同意。但至少您似乎正在处理实际使用DI的代码库。这是一件好事 🙂

0