天天看點

UML圖解簡單工廠模式&工廠方法模式&抽象工廠模式差別

簡述

工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一;

工廠模式包含 簡單工廠模式& 工廠方法模式& 抽象工廠模式這三種;

這三者主要差別在于工廠實作的複雜度,以及是否符合“開發-封閉”原則;

  1. 工廠模式:說白了就是建立對象,使用Factory模式替代使用new建立對象。友善于維護對象;
  2. 簡單工廠模式:使用參數或者配置檔案等事先定義好的變量,然後利用分支判斷初始化具體産品類并傳回;不符合“開發-封閉”原則,每次增加産品,都需要修改類方法。工廠類單一,不用維護大量的工廠類;
  3. 工廠方法模式:工廠方法是簡單工廠的進一步的延伸,也可以說是抽象工廠的一個特例,解決了簡單工廠違反“開發-封閉”原則問題,把工廠抽象出一個類,隻不過隻有一個産品;
  4. 抽象工廠模式:在工廠抽象類中有多個産品接口建立對象擷取方法,功能更強大,擴充性更好;
  5. 下面是三種工廠模式的UML類圖,可以通過類圖區分工廠模式不同;
    UML圖解簡單工廠模式&工廠方法模式&抽象工廠模式差別
  • 點選Java之23種設計模式檢視更多的設計模式