Spring 大白话系列:工厂
“工厂模式,大家都很熟悉了。说到底,就是解除创建对象和使用对象之间的耦合。这东西没啥啊。”
教室里,老师傅听到小明在嘀嘀咕咕的。老师走过去问:
“有什么问题呢小明同学?”
小明挠着头,明明就是一个简单的工厂模式,那怎么Spring 的工厂整出来有那么多东西,我都蒙了。
老师傅笑着说:要理解它的本质。就发现都是纸老虎呀。
小明更加不解了,老师傅故弄玄虚的:“你刚说的没错,Spring 的工厂也是为了解除创建对象和使用对象之间的耦合。说白了就是帮你创建对象的呀。最终把变量部分抽离出来,配置一下。”
小明问:我也是这么理解的。可怎么有注入,依赖注入,Context,factory ,生命周期,单例啥的。整的这老些个概念。
老师傅说:有的人想创建简单对象。
有的人还想给自己创建的对象里设置属性。还想设置复杂对象。
有的人说了,这个对象我要只创建一个,不能多例。
Spring 就做了这些事吖。都给你考虑周到了。
再展开比如:
注入是啥,就是设置成员变量。
依赖注入是啥:A调用B,就是A依赖B,以前需要A 自己创建B的实例,而现在这种关系也是可以通过Spring 去设置上。把依赖的B 注入到A类里,起个名字吧,依赖注入。
控制反转这是啥:这没啥新东西。就是个概念而已。控制反转,那控制的是啥:其实就是对于成员变量赋值的控制权。那怎么反转了?以前啊,你代码内部控制,现在不用代码控制了,从代码中反转(转移)到Spring⼯⼚和配置⽂件中完成。
小明说:哦,原来这些我搞不懂的名字就是做这些事情呀。那确实是没什么新知识。
老师傅会意的点了点头。
小明回去就把笔记做好了。