Java代码实现设计模式之工厂模式

工厂设计模式:为了解耦合,把对象的建立者与对象的使用者分开。
  生活中:批量生产产品
  Java中:批量生产对象设计模式

分工:
  把生产(建立)对象与使用对象分开了,解耦合ide

一、简单工厂模式
  优势:代码比较简洁
  缺点:若是增长新的产品类型,须要修改工厂类
  违反了面向对象的一个开发原则:对扩展开放,对修改关闭

二、工厂方法模式设计

  (1)为了生产对象与使用对象分开
  (2)若是增长新产品,就不须要修改原来的工厂类
  优势:遵循了增长新产品,不修改原来的类的原则,
  缺点:类太多了对象

示例:简单工厂模式开发

class SimpleFactory2{
  public static Car getCar(String type){
    if("BMW".equals(type)){
      return new BMW();
    }else if("BZ".equals(type)){
      return new Benz();
    }
    return null;
  }
}get

示例:工厂方法模式产品

interface Factory{
  VehiCle getVehiCle ();
}io

class BMWFactory implements Factory{class

  @Override
  public Che getChe() {
    return new BaoMa();
  }
}
class BZFactory implements Factory{扩展

  @Override
  public Che getChe() {
    return new BZ();
  }
}

......

示例:使用反射,结合工厂方法模式与简单工厂模式

class SimpleFactory{
  public static Vehicle getVehicle(String className)throws Exception{
    Class clazz = Class.forName(className);

    Object obj = clazz.newInstance();

    if(obj instance of Vehicle){

      return (Vehicle) obj;  

    }     return null;   }}

相关文章
相关标签/搜索