工厂方法模式被称为多态模式,也就是创建一个工厂接口,将实现创建产品的方法交由其子类去实现代码示例:
创建一个工厂接口
public interface FruitFactory {
public Fruit getFruit();
}
然后创建它的子类去实现它
public class AppFactory implements FruitFactory {
@Override
public Fruit getFruit() {
// TODO Auto-generated method stub
return null;
}
}
这是我们就可以用AppFactory来生产品了
跟上一篇一样
水果有一个共有的接口
public interface Fruit {
public void getFruit();
}
我们就可以
public class Apple implements Fruit{
@Override
public void getFruit() {
System.out.println("我是苹果");
}
}
在工厂子类中生成了
public class AppFactory implements FruitFactory {
@Override
public Fruit getFruit() {
// TODO Auto-generated method stub
return new Apple();
}
}
工厂方法模式具有很好的扩展性,当添加一个新的产品是不用改变原来的代码,只是再次创建一个它的子类就能事项,不像简单工厂模式,必须更改它的工厂类才能实现它的扩展。