笔者昨日根据网络相关资料及自己的理解进行了整合,通过程序员找对象的实例进行了阐述了和分析,博友对此问题又提出了新的疑问,此处,再写一篇,虽然大多资料来自网络,但是在此做一整合,以作参考,欢迎广大程序员兄弟姐妹们拍砖。
以下几个问题,来自ITEYE baitai 网友的博文(http://baitai.iteye.com/blog/792980),笔者认为很好,特此感谢,现在将其转化为程序员找对象这个事件中予以阐述,好,开整。
IOC 控制反转, DI依赖注入。
- 参与者都有谁?
- 依赖:谁依赖于谁?为什么需要依赖?
- 注入:谁注入于谁?到底注入什么?
- 控制反转:谁控制谁?控制什么?为何叫反转(有反转就应该有正转了)?
- 依赖注入和控制反转是同一概念吗?
于是很有意思的事情发生了...
我的好朋友小任又要相亲了...
- 参与者有谁?那就是他,她,他爸妈。他是对象,她就是要注入的那个资源,他的父母是容器。
- 谁依赖于谁?为什么需要依赖?小任依赖着他的父母,为什么要依赖,因为这个操蛋的程序员除了一天写程序见了女神就知道脸红,没救了。
- 父母注入了这个未来的儿媳妇,注入了什么,当然是儿可能成为儿媳妇这个资源,期待这个姑娘未来与小任白头偕老。
- 新时代的年轻人应该去自由恋爱,但是许多人都累觉不爱了,最后无奈地相亲了,最后将这个权利交给了父母,所以这就是反转。
总结:笔者原来认为,控制反转和依赖注入是一回事,但是发现确实有一点不同。不同的就是你所处的角度不同。看谁是主动了。
如果小任说,爸妈,我需要找个人给我暖床了,这是依赖注入。
如果任爸任妈说,光光,俺们想抱大胖孙子了,那这就是控制反转。
语言粗俗,欢迎拍砖,如果描述不当之处,砖头扔过来吧,头破血流也在所不惜啊。
原文链接:https://www.f2er.com/javaschema/285696.html