24種設計模式學習筆記之工廠辦法模式

2022-03-14 06:03:38 字數 997 閱讀 6094

工廠辦法模式----- 建立型設計模式

定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。

通過circle工廠獲取 circle 的物件,並呼叫它的 draw 方法

shapefactory cfactory = new

circlefactory();

shape circle =cfactory.getshape();

//呼叫 circle 的 draw 方法

circle.draw();

//通過square工廠獲取 square 的物件,並呼叫它的 draw 方法

shapefactory sfactory = new

squarefactory();

shape square =sfactory.getshape();

//呼叫 square 的 draw 方法

square.draw();

好處從類關係上來說,它可以讓客戶端與具體的工廠與產品解耦,從業務角度來說,它讓客戶端與具體的產品解耦

適用的場景

我們需要乙個產品幫我們完成一項任務,但是這個產品有可能有很多品牌(像這裡的mysql,oracle),為了保持我們對產品操作的一致性,我們就可能要用到工廠方法模式。

不足

假設產品數量巨多,而且需要我們親手去逐個實現的時候,工廠方法模式就會增加系統的複雜性

24種設計模式學習筆記之組合模式

組合模式 composite pattern 結構型設計模式 也稱為 整體 部分 part whole 模式,它的宗旨是通過將單個物件 葉子節點 和組合物件 樹枝節點 用相同的介面進行表示,使得客戶對單個物件和組合物件的使用具有一致性。組合模式 一般用來描述 整體 與 部分 的關係,它將物件組織到樹...

24種設計模式學習筆記之策略模式

策略模式 strategy 行為型設計模式 定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。cashsuper 收費計算策略抽象類正常收費類 正常收費。acceptcash 辦法 直接返回金額 打折收費類 需要在構造器中初始化打折引數 在ac...

24種設計模式 抽象工廠模式

1,意圖 提供乙個穿件一系列相關或相互依賴物件的介面,而無需指定他們具體的類 class font class brush class pen class resourcefactory class pen virtual pen virtual void drawline protected co...