hand first设计模式 - 工厂模式2012-01-05 javaeye pan_java工厂模式定义,创建一个对象接口,但由子类决定要实例化的类是哪一个.工厂方法让类把实例化推迟到子类.抽象的比萨商品类Java代码
public abstract class PiazzStore { public Piazz getPiazz(String name){ Piazz piazz = createPiazz(name); piazz.make(); return piazz; } //让子类去实现 public abstract Piazz createPiazz(String name); }
中国比萨商店Java代码
public class ChinaPiazzStore extends PiazzStore { @Override public Piazz createPiazz(String name) { // TODO Auto-generated method stub if(name.equals(PiazzEnum.ChinaPiazzOnHuAn.getVal())){ return new HuAnPiazz(); }else if(name.equals(PiazzEnum.ChinaPiazzOnHuBei.getVal())){ return new HuBeiPiazz(); }else{ throw new RuntimeException("piazz name is error"); } } }