本篇部落格是本人學習《大話設計模式》之後的乙個總結分享。原書是用c#編寫的偽**,此處本人將使用c++語言來實現書中的各種設計模式。由於時間有限,此處僅貼出經過設計模式優化後的**(也就是書中的最終版**)。此處**均為自己編寫,個別借鑑了其他優秀大佬博主的**邏輯,此**僅供學習交流,不做其他商業用途。
本模式通過編寫計算器的方式來理解一段好的**應該具有良好的可維護性和擴充套件性。通過抽象基類,子類繼承基類的方式,實現可維護性和擴充套件性:當後續新增其他計算方法時,只需新加乙個子類來繼承基類而無需修改已經實現的**;當某種計算方式出現問題時,也只需檢視該類的**部分,而無需動用其他部分。**如下:
#include
#include
using
namespace std;
class
operation
void
seta
(double number)
double
getb()
void
setb
(double number)
virtual
double
getresult()
=0;}
;class
operationadd
:public operation };
class
operationsub
:public operation };
class
operationmul
:public operation };
class
operationdiv
:public operation
else}}
;class
operationfactory
return oper;}}
;//主函式
void
main()
system
("pause");
}
值得注意的是,為了體現可維護性和擴充套件性,最好是將各個類都單獨進行封裝此處為了方便就不再單獨封裝。 大話設計模式簡單工廠模式c 實現
大部分都是大話設計模式上的案例,工廠方法對著簡單工廠寫的,和書上案例不一致 include using namespace std 簡單工廠模式 抽象類 class abstractoperation protected int numbera 0 int numberb 0 具體實現類 class...
大話設計模式之簡單工廠模式
簡單工廠模式,也就是說,到底要例項化誰,將來會不會增加例項化的物件,比如計算器程式中增加開根運算,這是很容易變化的地方,應該考慮用乙個單獨的類來做創造例項的過程,這就是工廠,具體 如下 public class operationfaction public static operation cre...
大話設計模式之簡單工廠模式
最近朋友推薦了一本書 大話設計模式 此書剛剛到,博主也還沒開始看,希望以博文的方式與大家一起分享,一起學習.簡單工廠模式,也就是說,到底要實列化誰,將來會不會增加實列化的物件,比如增加開根運算,這是很容易實列化的地方應該考慮用乙個單獨的類來做這個創造實列的過程,這就是工廠,來我們一起看看這個類如何寫...