天天看點

【設計模式】2、工廠模式之簡單工廠、方法工廠、抽象工廠

針對于工廠模式 有三種方式 1.簡單工廠 2.方法工廠 3.抽象工廠 我們依次實作

簡單工廠介紹:

1)簡單工廠模式是屬于建立型模式,是工廠模式的一種。簡單工廠模式是由一個工廠對象決定建立出那一中産品類的執行個體,簡單工廠模式就是工廠模式家族中最簡單使用的模式 2)簡單工廠模式:定義了一個建立對象的類,由這個類來封裝執行個體化對象的行為 3)在軟體開發中,當我們會使用大量的建立某種、某類或者某批對象執行個體時,就可以使用工廠模式

我們假設一個這樣的場景,有兩種電腦PC  MAC和 聯想  學生要使用電腦 肯定不能自己去建立電腦内,因為電腦的内部細節 主機闆 cpu 記憶體等等 隻有電腦本身這個類自己清楚,學生隻需要使用這個電腦的對外提供的功能就可以。

是以 代碼實作如下。

電腦類

聯想電腦類 

MAC電腦類

簡單工廠方法

學生類

測試類

      工廠方法模式介紹

1、工廠方法模式:定義一個建立對象的抽象方法,由子類決定要執行個體化的類,工廠方法模式将對對象的執行個體化延遲到子類、

進一步代碼推進

定義一個抽象類sell 銷售者 持有一個抽象方法

聯想工廠方法代碼:

MAC工廠方法代碼 

測試類 

1、抽象工廠模式:定義了一個interface用于建立相關或者有依賴關系的對象,而無需指明具體的類。 2、抽象工廠模式可以将簡單工廠模式和工廠方法模式進行整合。 3、從設計層面看,抽象工廠模式就是對簡單工廠模式的改造。 4、将工廠抽象成兩層。AbsFactory(抽象工廠)和 具體實作的子類工廠 程式員可以根據建立對象類型使用對應的工廠子類,這樣将單個的簡單工廠類變成了工廠,有利于代碼的拓展和維護。

抽象工廠類 

具體的實作的子類工廠

【設計模式】2、工廠模式之簡單工廠、方法工廠、抽象工廠

       1、工廠模式的意義

           将執行個體化對象的代碼提取出來,放到一個類中進行統一管理和維護,達到和主項目的依賴關系的解耦,進而提高了項目的拓展和維護性。

       2、三種工廠模式(簡單工廠模式、工廠方法模式、抽象工廠模式)

       3、設計模式的依賴抽象原則

建立對象執行個體時不要直接new,而是把這個new類的動作放到一個工廠的方法中,并傳回。有的書上說,變量不要直接持有具體類的引用。

不要讓類繼承具體的類,而是繼承抽象類或者實作interface

不要覆寫基類中已實作的方法。

繼續閱讀