分层、工厂模式、依赖注入(控制反转)
1、分层:就如同一个人自己制造一个锤子,自己动手丰衣足食。你需要他就自己new一个该实例。无法实现二者之间的松耦合;
2、工厂模式:一个人需要一个锤子,他找工厂,工厂帮他造了一个锤子。工厂给你制造的锤子,但是如何造的你不需要知道。你直接调用该接口就可以了,具体你不需要知道。调用者无须关心被调用者具体实现过程,只需要找到符合某种标准(接口)的实例,即可使用;
3、依赖注入:一个人需要一个锤子,他打电话给卖锤子的叫他送货上门。你喜欢哪家的锤子,直接叫哪家送货上门就OK。用者无须自己定位工厂,程序运行到需要被调用者时,系统自动提供被调用者实例。调用者和被调用者通过spring管理。他们的关系由spring维护
依赖注入或者说是控制反转说白了就是使用了配置文件,这种思想的唯一好处就是增加了模块的重用性、灵活性;
一般配置文件里存的都是数据,键值之类的。Spring的配置文件把要引用类和要给类传的参数都放到配置文件里,这样比以前写死在程序里更灵活,因此更具重用性;
三者都需要自己造锤子的模,只是倒模出锤子的方式不同;
依赖注入:
IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时,要是产生的是单利的bean,还可以管理bean的生命周期;
Spring的IOC有三种注入方式:
第一是根据属性注入 也叫set方法注入;
第二种是根据构造方法进行注入;
第三种是根据注解进行注入,这种方式我认为比较好,方便,要是bean多的话,使用前两种方式会使得配置文件过于臃肿;
Spring的优点:主要是根据它的IOC和AOP体现的。我感觉他就是把我们以前用到的工厂模式和代理模式进行了一个封装。IOC主要是解决了代码的耦合性问题,而AOP是面向切面编程的最好解释。
下一篇: AutoFac使用方法总结二