【发布时间】:2015-03-18 11:45:08
【问题描述】:
我们正在构建一个 ASP.NET MVC 5 Web 应用程序。 我们可以使用 IoC 容器来解决服务依赖关系,但新的/无知的开发人员仍然可以在需要时创建服务类的实例,而不是使用 DI 框架来解决它。
是否有任何方法(Visual Studio 中的代码规则配置)或工具 来阻止(通过给出警告或错误)开发人员使用“new”关键字创建服务类的实例。 谢谢。
【问题讨论】:
-
这对我来说似乎是一种自我挫败的目标。为此,您必须教您的“新/无知”开发人员使用该工具来验证其代码的质量。或者你可以让它在他们提交代码时自动检查代码?教您的开发人员改用 IoC 并为他们提供这样做的理由和动机不是更好吗?
-
我理解您的观点...但我认为最好有防呆系统。此外,我相信爱因斯坦所说的“两件事是无限的:宇宙和人类的愚蠢”(包括我)。
-
你使用 Resharper 吗?如果是这样,您可以将其配置为对此发出警告。
-
如果你能设计一个万无一失的系统那就太好了——我只是不确定这是否可行。在最坏的情况下,错误的安全感可能只会让事情变得更糟。换句话说:如果您无知的程序员想做一些愚蠢的事情,他们可能会忽略您提供的任何警告,并继续前进。也就是说,当然,除非您解释使用 IoC 的必要性和好处,否则他们有正确的动机。 PS:如果我没记错的话,爱因斯坦对宇宙是不确定的
-
@Kjartan 你是对的。谢谢。
标签: c# asp.net-mvc oop design-patterns dependency-injection