設計模式目錄
工廠方法應用舉例(坦克大戰)
價值:有乙個工廠方法可以加工不同的商品。
具體解釋:在某個類(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產...