上一节我们说到的工厂方法目的是为内部创建一个对象,方便使用.
那么这个为内部创建的对象是什么?
就是依赖.
换句话说,工厂方法的目的就是给父类一个注入内部实现的接口,子类通过注入不同的实现来创建不同的子类.
这就是工厂方法的核心.
在spring的IOC之中(见spring),IOC的使用核心有两个部分.
[1]创建Bean
[2]依赖注入
创建Bean----简单工厂---用户通过工厂获取Bean,但是不去管实现.
依赖注入-----工厂方法----用户通过工厂方法注入内部实现需要的对象.
那么,工厂方法的好处是什么?
为我们提供了一个缓冲的机会,我们可以使用这个工厂方法来实现其他的内部方法.
还有其他的形式吗?
在父类里面持有一个需要的对象的引用,使用set或者构造器.
那么工厂方法有什么更好的好处吗?
因为是抽象的,子类必须要实现.[也就是子类必须实现,也就是更安全].
在框架的设计中,工厂方法的使用非常频繁.
我们分析一下工厂方法的好处,
无非还是那些,就重复的代码抽离到父类,最终的目的还是复用.
只是工厂方法更加优雅.
工厂方法的作用,提供一个注入依赖的接口,子类负责实现,通过不同的注入[实现方法的不同]实现.
不同的子类.