本文通過運用設計模式比沒用設計模式的優勢在哪?
設計模式主要是要抓住穩定部分和易變部分,文章結尾會指出。
還指出工廠方法被設計出來,最開始想要解決的問題是什麼。
#include using namespace std;
//老**
class fruit
};public:
void eaten() override
};class orange : public fruit
};class banana: public fruit
};//老**
class man
};//需求改變,man可以吃任意的水果。注意fruit被吃掉後,需要在eat中析構。
//新增列舉,修改man::eat方法
//這種方法違背開閉原則,如果在新增水果種類,還要修改fruittype和man2類。
enum fruittype ;
class man2
fruit->eaten();
delete(fruit);
}};//工廠方法
//抽象工廠
//將來在新增水果類只需要增加對應的工廠方法。
class fruitfactory
};public:
fruit* creatfruit() override
};class orangefactory : public fruitfactory
};class bananafactory : public fruitfactory
};class man3
};int main()
工廠方法穩定部分:fruit/fruitfactory
類,易變部分是:它們的子類。
策略方法讓fruit
類解耦,但是又new
的存在還是要改變man::eat
函式,工廠方法最開始是為了解決new
帶來的問題。
C 工廠方法
singleton.h pragma once ifndef singleton h define singleton h templateclass singleton virtual singleton 防止拷貝複製 private singleton const singleton singl...
簡單工廠方法,工廠方法,抽象工廠方法
以大話設計模式計算器為例 簡單工廠方法是由具體執行功能類,工廠類,客戶端構成,工廠類有case語句,負責建立不同的類,客戶端呼叫工廠類裡面的工廠方法,工廠類的工廠方法根據客戶端傳進去的引數new相應的類的物件返回給客戶端,客戶端得到返回的物件用該物件初始化該物件的成員變數最後呼叫該物件的方法執行計算...
C 工廠模式 工廠方法
簡單工廠 工廠模式 簡單工廠,工廠方法,抽象工廠三種.工廠方法 力求簡潔 工廠即為生產東西的地方.在c 也有這種模式,充分利用了物件導向語言的三大特徵 多型,繼承 簡單工廠.工廠的功能就是生產,而生產些什麼呢?乙個工廠可以生產鞋子,生產衣服.它們所處的車間不一樣,所以需要兩個不同的類,這兩個類繼承工...