从开发和维护两个方面来看

  • 一方面,可以简化开发的流程。比如说,一个类有100个对象成员,这样的类又要在不同的地方实例化10次,这就是很费手脚的,结合IOC和自动依赖注入,就能够省掉中间这些对象成员的注入过程,提升我们的开发效率。
  • 另一方面,如果想替换掉某个组件的实现,所有的依赖这个组件的代码就都要修改,也很麻烦。我们把系统中所有的组件放进一个“容器”中统一管理,需要使用组件的地方都通过容器来获取,这样替换组件就会很容易。