今天把專案都做完後,就開始繼續學設計模式。剛看了簡單的工廠模式,感覺之前對物件導向這個概念實在是太淺了,在我的觀念中,一直認為程式只要能執行,沒有bug就是成功的,但是看了設計模式之後,發現原來的觀念實在是太表面化了,沒有深入的理解物件導向這個概念。
我是看了《大話設計模式》這本書開始學的,感覺講的簡單易懂,而我另外一本書講的就是晦澀了,理解起來很難。
簡單的工廠模式。就拿乙個簡單的四則運算來說,輸入兩個數和符號,輸出結果,如果在學習設計模式之前,我可能會這麼寫:
#include using namespace std;
int main()
//numbera賦值
void setnumb(double b) //numberb賦值
double getnuma() //獲取numbera值
double getnumb() //獲取numberb值
virtual double getresult() //虛函式 用於實現多型 實現派生類的getresult()函式
};class operateadd : public operate //加法演算法類
}; class operatesub : public operate //減法演算法類
};class operatemul : public operate //乘法演算法類
};class operatediv : public operate //除法演算法類
else
} catch(const char* msg)
{ cout<>numa;
cout<
cin>>ope;
cout<
cin>>numb;
operato***ctory oft;//定義乙個工廠類物件,呼叫operatorcreate()函式
operate *my_oper = oft.operatorcreate(ope);//根據運算子建立演算法類物件
my_oper->setnuma(numa);
my_oper->setnumb(numb);
cout<
設計模式學習 簡單工廠模式
建立抽象產品類,定義所有產品的公共介面。建立具體產品類,繼承於產品抽象類,建立工廠類,在內部定義靜態方法,生產每個具體產品類的例項。外部通過呼叫工廠類的靜態方法,並傳入引數來得到所需的產品。某玩具工廠同時接到了三個不同客戶的訂單,需要生產一批玩具汽車 玩具飛機 玩具火車。於是工廠開設三條流水線進行生...
學習設計模式 簡單工廠模式
提供乙個能夠建立具有所需要的功能類的例項物件,而無需關心其內部是如何實現的,被建立的例項物件的型別可以是介面 抽象類或具體實現類。api 即所需要的所有功能介面 impl api的具體實現類,可以有多個 factory 工廠類,用於建立所需要的api的例項物件 client 通過factory來獲取...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...