简述
工厂方法模式是从简单工厂模式演变而来,简单工厂模式中说了,只适合需要创建的类型比较少的情况,如果太多就要转换思路了。怎么弄呢,就是既然简单工厂是一个工厂任务太多了,就多创建几个工厂,在工厂里面分出种类,不同的工厂,处理不同种类的业务。
实现方式
创建一个IFactory的接口,叫做工厂方法接口,这里接口里写一个公共方法。具体的实现写具体的类,实现这个IFactory接口,重写接口方法。在使用的时候用多态的方式,
IFactory factory = new Factory();
factory.dosomething();
大概就是这个意思。如果需要不同的工厂了,就把new后面创建的工厂换一下就行了。
当你的业务遇到类似情况,就可以使用这个模式。
扩展方式
假设上个工厂的增加了一个功能,要为每一个doSomething做进一步功能,这是时候,其实可以在IFactory里面增加一个方法,来扩展这个工厂的功能。这样配套的实现功能,不容易出错。