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;   }}

相關文章
相關標籤/搜索