Golang設計模式 01工廠方法模式

2022-09-11 04:45:18 字數 2037 閱讀 1750

其他設計模式

定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法使乙個類的例項化延遲到其子類

工廠方法克服了簡單工廠違背開放封閉原則的缺點,又保持了封裝物件建立過程的優點

乙個簡單工廠的工廠類,變成乙個工廠抽象介面和多個具體生產物件的工廠,於是我們要增加乙個新的邏輯運算,就不需要更改原來的工廠類了,只需要增加此功能的運算類和對應的工廠類就可以了。

每增加乙個產品,相應的也要增加乙個子工廠,加大了額外的開發量。

當產品種類非常多時,就會出現大量的與之對應的工廠類,這不應該是我們所希望的

工廠方法模式就是公升級版的簡單工廠模式

)}

設計模式git源**

00簡單工廠模式

01工廠方法模式

02抽象工廠模式

03外觀模式

04建造者模式

05橋接模式

06命令模式

07迭代器模式

08模板模式

09訪問者模式

10備忘錄模式

11責任鏈模式

12中介模式

13原型模式

14狀態模式

15策略模式

16享元模式

17組合模式

18直譯器模式

19單例模式

20介面卡模式

21**模式

22裝飾器模式

23觀察者模式

golang設計模式之工廠方法模式

簡單工廠模式是通過傳遞不同的引數生成不同的例項,缺點就是擴充套件不同的類別時需要修改 工廠方法模式為每乙個product提供乙個工程類,通過不同工廠建立不同例項。類圖 相關源 demo在github上,可供參考!type animalfactory inte ce type birdfactory ...

Golang設計模式 之工廠方法模式

工廠方法模式使用子類的方式延遲生成物件到子類中實現。go中不存在繼承 所以使用匿名組合來實現 package factorymethod operator 是被封裝的實際類介面 type operator inte ce operato ctory 是工廠介面 type operato ctory ...

工廠模式之工廠方法(golang)

蘋果工廠 蘋果工廠 建立蘋果手機 華為工廠 type huaweifactory struct 華為工廠建立華為手機 func huaweifactory createphone phone 華為工廠 type xiaomifactory struct 華為工廠建立華為手機 func xiaomif...