在简单工厂的基础上,如果我要造三星,又得在Factory里修改,这样是不符合设计原则的。
定义工厂的接口,每个工厂生产自己的产品即可
public interface IFactory {
IPhone create();
}
public class HuaWeiFac implements IFactory{
@Override
public IPhone create() {
// TODO Auto-generated method stub
return new HuaWei();
}
}
public class XiaoMiFac implements IFactory{
@Override
public IPhone create() {
// TODO Auto-generated method stub
return new XiaoMi();
}
}
生产三星只需建一个三星工厂,不需要对现有代码进行修改