asp.net - 依赖注入(inject)和代码可维护性

标签 asp.net dependency-injection maintainability

我正在开发一个(vb.net/asp.net)项目,该项目使用接口(interface)提供依赖注入(inject)。但对我来说,感觉就像代码的可维护性已经被扼杀了。当我想通读代码时,我不能简单地跳转到使用的相关类的代码。我看到的只是接口(interface),所以我必须通过项目来找出哪些类正在执行实现。这真的伤害了我的工作效率。

是的,我知道我现在可以使用各种替换类来实现接口(interface)。但是,例如,我知道我不会很快更改我的数据源——我不需要启用将其换出的能力。所有这些依赖注入(inject)对我来说似乎都是多余的(事实上,它存在的唯一真正原因是支持用于单元测试的模拟类)。我实际上已经阅读了几个地方,状态 DI 实际上更利于可维护性。但这假设您已经知道所有内容在哪里,并且您知道需要更新哪个类。找出在哪里看是杀死我的部分。

所以,我的问题是:有没有更好的方法来遍历代码?有没有更好的方法让代码更易于维护?我们只是做错了吗?或者这是类(class)的标准杆?

最佳答案

DI 肯定有一些开销,尤其是当您的配置与代码分离时。虽然这是类(class)的标准,但随着时间的推移,它确实会变得更容易处理,并且随着您对代码的更好理解。

但是,有一些工具可以提供帮助 - 看看 ResharperCodeRush .两者都为 Visual Studio 中的代码导航体验提供了出色的改进。 Resharper 拥有优秀的 "Go To Symbol""Go To Implementation"快速帮助您导航到界面实现的方法,无论它在哪里。

关于可维护性:通常,随着时间的推移,松散耦合的设计变得更加重要,因为会有变化。您的代码耦合得越紧密,在不影响整个应用程序的情况下进行小的更改就越难。这就是依赖接口(interface)非常重要的地方——无论您是否选择使用依赖注入(inject)。

关于asp.net - 依赖注入(inject)和代码可维护性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4057344/

相关文章:

asp.net - ASP.NET 中的大量 301 重定向,包括需要根据查询字符串参数重定向到不同位置的页面

c# - ASP .Net Core 中静态方法的依赖注入(inject)

c# - 具有依赖注入(inject)设计的处理程序工厂

javascript - 所有 angular.js 项目的可维护性指数

c - 我应该阅读哪些书籍/网站来学习编写可读和可维护的 C 代码?

c# - 将 aspx 页面保存为 jpeg 并在 C# 中将其作为电子邮件发送

c# - 通过 css 类分配 ASP.net 按钮图像

c# - 如何编写自己的 AuthorizeTag?

java - Spring 3 依赖注入(inject)和接口(interface)

function - 切换功能的用处