依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同。

依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;

而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。

其实IoC/DI对编程带来的最大改变不是从代码上,而是从思想上,发生了“主从换位”的变化。应用程序原本是老大,要获取什么资源都是主动出击,但是在 IoC/DI思想中,应用程序就变成被动的了,被动的等待IoC/DI容器来创建并注入它所需要的资源了。

这么小小的一个改变其实是编程思想的一个大进步,这样就有效的分离了对象和它所需要的外部资源,使得它们松散耦合,有利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。


©著作权归作者所有:来自51CTO博客作者寻儒的原创作品,如需转载,请注明出处,否则将追究法律责任

你的鼓励让我更有动力

赞赏

0人进行了赞赏支持

更多相关文章

  1. 谷歌发布Skaffold,简化Kubernetes应用程序持续开发
  2. 详解Java应用程序中的内存泄露是如何发生的
  3. timesten常见的一些简单问题
  4. sql 注入
  5. 让数据面临风险的十大常见云安全错误
  6. 让我们重新认识OpenShift系列1
  7. Facebook是如何通过Android应用程序跟踪非注册用户
  8. 使用python纯手写的一款音乐下载应用程序(带有图形界面)
  9. 实验吧 看起来有点难(手工注入加sqlmap注入)

随机推荐

  1. c语言常量定义规则
  2. c语言程序是从源文件第一条语句开始执行
  3. c语言中形参的默认存储类型是什么?
  4. c语言和vb哪个简单
  5. c语言数据类型转换的方法
  6. c语言中“或”怎么表示?
  7. c语言怎么实现动态内存分配
  8. c语言二进制如何表示
  9. c语言中的关键字有哪些类型?
  10. c语言中long是什么意思