刚接触这个框架的我很难理解为什么要多此一举使用spring,从表面来看其实没有省略任何步骤。
这是度娘给的解释,它可以降低代码的耦合度,然而作为一个新人我还不知道什么是耦合度
耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决于模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。
大白话解释就是尽可能多的封装,调用时使用接口,而不是重复写同一个函数。在新手看来其实很不容易理解,这样不太利于整体流程阅读,因为会无限次的调用,不过有个好处,便于维护,每次出现问题或者更新换代可以改动的少点。
IoC的底层实现原理是工厂设计模式+反射+XML
配置文件,工厂设计模式就是定义一个工厂类,新手再问工厂类又是什么?
工厂类就做到了一个提供接口(提供接口而不提供代码)的目的。简单一点理解,工厂类有点类似一个函数接口,通过传入不同的参数在工厂类内部区分成不通的对象,然后产生不通的对象实例,然后return给外面的人用。一个工厂类一般会提供一个函数接口(static的模式)来根据不同的参数返回不同的对象指针。
所以我理解似乎就是封装再封装?