天天看點

簡介 簡單工廠、工廠方法、抽象工廠 大三工廠

  簡單工廠、工廠方法、抽象工廠 大三工廠 都是建立型設計模式,都是管理對象如何建立。

簡單工廠簡單到令人發指,隻是包了一層,但是做到了邏輯轉移。上端不在關心對象怎麼建立,穩定了調用方

比如我們下單的時候,購買什麼産品,需要建立什麼樣的對象,水果為例子,有

簡介 簡單工廠、工廠方法、抽象工廠 大三工廠

有蘋果apple   葡萄 grape   橙子orange  三個對象 他們都繼承了 下單的這個動作 

 調用蘋果下單 建立蘋果的對象

 如果是橙子下單 我們用戶端還需要修改如上代碼,這違背開閉原則。是以我們需要轉移,于是有了個工廠的概念,專門生成對象

上端調用變成了

簡介 簡單工廠、工廠方法、抽象工廠 大三工廠

cw("*****************************工廠方法*************************************")

 工廠方法模式通過面向對象程式設計中的多态性來将對象的建立延遲到具體工廠中,進而解決了簡單工廠模式中存在的問題,屏蔽了簡單工廠的細節,也很好地符合了開放封閉原則。

建立工廠類的接口

上端調用

簡介 簡單工廠、工廠方法、抽象工廠 大三工廠

 工廠方法為我們擴充,成為可能 net 5 種autofac  替換容器 思路 就是替換工廠

簡介 簡單工廠、工廠方法、抽象工廠 大三工廠

***************************抽象工廠********************************

 抽象工廠是為了實作一類産品或者産品簇而産生。

工廠方法+ 抽象--是必須全部實作的:友善擴充種族 但是不能擴充産品簇--傾斜性可擴充性設計

簡介 簡單工廠、工廠方法、抽象工廠 大三工廠