設計模式 工廠方法模式

2021-08-16 18:00:38 字數 996 閱讀 3677

1.uml類圖

creator是乙個工廠類介面,它宣告工廠方法,該方法返回乙個product型別的物件。concretecreator是具體的工廠類它實現了creator介面,並重定義了工廠方法返回乙個concreteproduct例項。product定義工廠方法所要建立的物件介面。concreteproduct是具體的產品,實現了product介面。

2.示例**

工廠類介面

public inte***ce ileifengfactory

public class voluntee***ctory implements ileifengfactory

產品基類

public class leifeng

public void wash()

public void buyrice()

個性化的具體產品類

public class undergraduate extends leifeng

@override

public void wash()

@override

public void buyrice()

public class volunteer extends leifeng

@override

public void wash()

@override

public void buyrice()

決定權轉移到了客戶端,客戶端需要哪種產品就採用哪種具體產品工廠生成產品物件例項

public class client

}3.特點

工廠方法模式實現時,客戶端需要決定例項化那乙個工廠生成產品物件例項,選擇判斷的問題依舊是存在的,只不過工廠方法模式把簡單工廠的內部判斷邏輯移到了客戶端**來進行。你想要增加的功能,本來是改工廠類的,而現在是修改客戶端。

設計模式 工廠方法模式

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

設計模式 工廠方法模式

1 factorymethod.h ifndef factorymethod h define factorymethod h include include using namespace std class osproduct 產品,product,產品的抽象類 class windowspro...

設計模式 工廠方法模式

框架的基礎知識 對框架的理解 框架和設計模式的關係 工廠方法模式 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,factory method使乙個類的例項化延遲到其子類。結構 產品 public inte ce product 具體產品 public class productimpl...