工廠方法模式最簡實現

2021-09-11 03:46:20 字數 743 閱讀 9888

設計模式目錄

工廠方法應用舉例(坦克大戰)

價值:有乙個工廠方法可以加工不同的商品。

具體解釋:在某個類(creator)的工廠方法(factorymethod)能被多型成加工不同產品的方法。(如果有這麼樣的乙個方法存在,那麼就是實現了該模式,這是該模式的唯一特性)

該模式有如下兩個要點:

1.該函式可多型(即:包含該函式的類是多型的)

2.該函式的返回值是多型的(product)

如下**實現(為了體現多型性,我把concretecreate變成了createa和createb)

#include using namespace std;

// 抽象層

class product

};class creator

virtual product* factorymethod()

};// 具體層

class producta:public product

};class productb:public product

};class creatora:public creator

};class creatorb:public creator

};//客戶端呼叫

int main()

設計模式 簡工廠方法模式

author 無憂少年 createtime 2019 7 30 工廠方法模式 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到子類。工廠方法模式結構圖 外鏈轉存失敗 img ekzadkkz 1566715292236 工廠方法模式結構圖.png 工廠方法模式和...

工廠方法模式 工廠方法模式

工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...

工廠方法模式 工廠方法模式 二

工廠方法模式是對簡單工廠的進一步抽象和封裝,需要新的類物件時不需要對既有工廠類進行修改,而是增加新的工廠類。工程類可以使用模版進一步封裝,由編譯器來生成 從而減少 編寫工作量。工廠方法的 c 實現01part產品抽象基類class animal virtual void show 0 02part產...