01 【創建型】工廠模式 理解與使用

  • 2019 年 10 月 30 日
  • 筆記

1.工廠模式

大白話:比如你需要一輛汽車,你無需了解汽車是怎麼樣生產的,你只需要告訴汽車廠,我要買某某某型號的汽車,?,汽車廠造好了給你即可。這就是工廠模式:

隱藏具體對象實例的過程,只需要告訴這個工廠你想要的東西(對象) 它幫你實現,你不必關係具體的實現過程;

 

靈魂畫師~走你

這個圖是不是很容易理解啊 ,啊哈哈哈,看我精湛的技術!!

舉個經常用到的例子:

 

  1. 資料庫連接當中指明你的資料庫類型:mysql
  2. 資料庫分頁插件當中的方言

實踐:

1、創建一個汽車工廠介面

/**   * 汽車生產工廠   */  public interface CarFactory {      //創造汽車方法      void createCar();    }

 

2、使用三個不同的類實現工廠方法

public class DazoCar implements CarFactory {        @Override      public void createCar() {          System.out.println("生產大眾汽車");      }  }

public class BYDCar implements CarFactory {        @Override      public void createCar() {          System.out.println("生產BYD汽車");      }  }

public class BenciCar implements CarFactory {        @Override      public void createCar() {          System.out.println("生產Benz汽車");      }  }

 

3、創建一個汽車工廠

public class Factory {          public static CarFactory getCarFactroy(String type){            //大眾          if ("DAZO".equals(type)) {              return new DazoCar();          } else if ("BYD".equals(type)) {              //BYD              return new BYDCar();          } else if ("BENCI".equals(type)){              //Benz              return new BenciCar();          }          return null;      }  }

4、測試調用

    public static void main(String[] args) {            CarFactory carFactory = Factory.getCarFactroy("BYD");            carFactory.createCar();        }

 

 這就是一個最簡單的工廠模式;

 

 

參考:https://www.runoob.com/design-pattern/design-pattern-intro.html

碼云:https://gitee.com/mrc1999/23GOF