小編這次要給大家分享的是詳解C#中TemplateMethod模式,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
一個真實的故事
大學的時候就開過一門課程,講設計模式,可是大學生沒什么編程實踐經驗,在大學里面聽設計模式的感覺,就像聽天書。聽著都有道理,可是完全領會不到其中的奧妙,大抵原因就在于沒有走過彎路,沒有吃過設計不當的虧。古人云,“操千曲而后曉聲,觀千劍而后識器”,誠不欺我。
博主在之前的某個項目中,設計出了一些工具類,像屬性窗口,錯誤提示窗口,還有一個窗口管理類管理它們,當時我實現工具保存時候的代碼是這樣的:
class WindowManager { private List_Tools = new List (); public void AddTool(ITool tool) { _Tools.Add(tool); } public void SaveAllTools() { foreach(var tool in _Tools) { tool.Save(); } } } interface ITool { bool BeforeSave(); void Save(); void AfterSave(); } class PropertyWindow : ITool { public bool BeforeSave() { //do something specific here return true; } public void Save() { if (BeforeSave()) { //do save AfterSave(); } } public void AfterSave() { } } class ErrorLis : ITool { public bool BeforeSave() { //do something specific here return true; } public void Save() { if (BeforeSave()) { //do save AfterSave(); } } public void AfterSave() { } }
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。