設計模式之:三種工廠模式的對比SimpleFactoryPattern、FactoryMethodPattern、AbstractFactoryPattern
阿新 • • 發佈:2022-04-02
工廠模式對比: |
簡單工廠 SimpleFactoryPattern |
工廠方法 FactoryMethodPattern |
抽象工廠 AbstractFactoryPattern |
工廠數量 |
一個工廠 |
多個工廠 |
多個工廠 |
工廠數量計算 |
1 |
工廠數=產品數 |
工廠數=產品系列數 |
單個工廠建立產品數 |
所有產品 |
一個產品 |
一個產品系列 |
建立產品的方式 |
工廠通過條件語句,決定生產哪種產品 |
建立不同的工廠,從而生產不同的產品 |
建立不同的工廠,從而生產不同的產品系列 |
擴充套件產品難易程度 |
需要修改工廠程式碼 |
不用修改工廠程式碼 |
不用修改工廠程式碼 |
擴充套件產品實現方式 |
增加產品類,修改工廠程式碼 |
增加產品類和工廠類 |
增加產品系列和工廠類 |
是否使用介面 |
否 |
是 |
是 |
理解的難易程度 |
容易 |
一般 |
較難 |
是否實現解耦 |
是 |
是 |
是 |
是否符合依賴倒置原則 |
否 |
是 |
是 |
是否符合開閉原則 |
否 |
是 |
是 |
是否符合里氏替換原則 |
產品符合,工廠不符合 |
是 |
是 |
是否符合迪米特法則 |
是 |
是 |
是 |
是否符合單一職責原則 |
否 |
是 |
是 |