真实的网站/应用程序用例依赖注入是有用的(不包括单元测试/模拟)?

时间:2010-04-03 21:26:33

标签: dependency-injection

在什么具体的Web项目中(您当然不必通过名称命名),特别是您已经处理过的Web应用程序/网站的哪个部分,已经证明依赖注入是好的选择。你能给出一个具体的例子,你可以在项目的生命周期中用DI替换另一个组件,不包括模拟/单元测试的情况吗?

1 个答案:

答案 0 :(得分:3)

依赖注入不是取代组件。它是关于解耦代码,它有助于保持高凝聚力和低耦合。

替换组件只是你可以用DI做的事情之一(在我的经验中并不常见)。

如果您真的想要替换组件的示例:

  • 我有一个连接到远程Windows传真服务器的传真服务来发送传真。我将其替换为通过j2.com发送传真的服务。
  • 我有搜索“东西”的服务。该服务首先针对RDBMS实现,后来被替换为针对Solr实例的搜索。
  • 应用程序缓存被抽象为组件。首先,它是使用ASP.NET内置缓存实现的,后来使用memcached替换它。