一、概述:
工厂方法模式与简单工厂模式很相似,主要是用于简单工厂模式在遇到要产生较多个类时,而这些类又可以分为几个大类时,可以将这几个大类分别建类,工厂方法模式定义了一个创建对象的接口,由子类(实现类)决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类(实现类)
二、实例:
如:专门用于产生苹果类的Factory:
public class AppleFactory implements FruitFactory:
@Override
public Fruit getFruit(String type) {
if("apple".equalsIgnoreCase(type)){
return new Apple();
}
return null;
}
2.测试:
FruitFactory factory = new AppleFactory();
// FruitFactory factory = new OrangeFactory();
Fruit f = factory.getFruit("apple");
f.plant();
3.使用方法模式的重点是将类的实例化推迟到子类,那么在改动的时候只需要改动对应的大类就行了,而不需要改动其它
三、工厂方法模式用起来依然不够灵活,推荐使用配置文件的形式来产生对象