技术的创新都是为了解决现实存在的问题。而问题的出现往往又是在技术发展中。更迭不断。
控制反转思想出现的过程类似社会性质的发展。
一、封建社会
封建社会最大的特点就是自给自足。比如,人要穿衣服就得自己制作衣服。要制作衣服那这个人就得知道制作不同衣服需要的材料和工艺。
这就好比main线程需要用到某个接口。同时main线程还需要知道用那些该接口的实现类。因此对于main线程来说会很头疼,需要使用实现类的构造器。程序耦合度较高。
二、资本主义
资本主义讲究分工明确。如果一个人要穿衣服,只需要想清楚穿什么样的衣服就行了,对于衣服的制作就不用管了。制作过程交给工厂来完成。
这就好比main线程需要某个接口。mian线程只需要创建接口实现类的工厂类。然后可以选择不同的实现类了。
三、社会主义
社会主义时物质生活极大地丰富。如果你要穿衣服,只要说一声,就有人把衣服放在你的手上!
这就是main线程需要某个接口的功能,只需要直接使用就行了!因为强大的Spring已经把衣服送到你的手上了!
附图3张:分别对应上面1,2,3