01 【創建型】工廠模式 理解與使用
- 2019 年 10 月 30 日
- 筆記
1.工廠模式
大白話:比如你需要一輛汽車,你無需了解汽車是怎麼樣生產的,你只需要告訴汽車廠,我要買某某某型號的汽車,?,汽車廠造好了給你即可。這就是工廠模式:
隱藏具體對象實例的過程,只需要告訴這個工廠你想要的東西(對象) 它幫你實現,你不必關係具體的實現過程;
靈魂畫師~走你
這個圖是不是很容易理解啊 ,啊哈哈哈,看我精湛的技術!!
舉個經常用到的例子:
- 資料庫連接當中指明你的資料庫類型:mysql
- 資料庫分頁插件當中的方言
實踐:
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