【C#】设计模式的学习征途系列文章目录(2019版)
Photo :Design Patterns
文?| Edison Zhou
2017年,我開始系統學習設計模式,參考了《大話設計模式》、《設計模式的藝術》等書籍,并通過C#語言寫了各種模式的代碼示例(已經放到了我的github上并收獲了120+個star)。在日常工作上進行Code Review時會時常通過一些學習過的設計模式來指導重構或給出意見,感覺系統學習過和沒有學習過還是有一點區別。雖然仍然有很多的遺漏和不足,仍然在此將其總結和優化閱讀目錄分享給各位有需要的初學者朋友!
1? 預備篇??
下文來自于一位朋友圣杰,帶你通過一個類圖在5分鐘內熟悉UML類圖:
UML類圖10分鐘快速入門
2? 創建型模式篇
創建型模式是一類最常用的設計模式,在軟件開發中應用非常廣泛。創建型模式將對象的創建和使用分離,在使用對象時無需關心對象的創建細節,從而降低系統的耦合度,讓設計方案更易于修改和擴展。每一個創建型模式都在試圖回答3個問題:3W -> 創建什么(What)、由誰創建(Who)和何時創建(When)。
①?設計模式的征途-01.單例(Singleton)模式
②?設計模式的征途-02.簡單工廠(Simple Factory)模式
③?設計模式的征途-03.工廠方法(Factory Method)模式
④?設計模式的征途-04.抽象工廠(Abstract Factory)模式
⑤?設計模式的征途-05.原型(Prototype)模式
⑥?設計模式的征途-06.建造者(Builder)模式
3? 結構型模式篇
結構型模式所描述的是如何將類和對象結合在一起來形成一個更大的結構,它描述兩種不同的事物:類和對象,根據這一點,可分為類結構型和對象結構型模式。
類結構型模式關心類的組合,由多個類可以組合成一個更大的系統,在類結構型模式中一般只存在繼承關系和實現關系;
對象結構型模式關心類與對象的組合,通過關聯關系使得在一個類中定義另一個類的實例對象,然后通過該對象調用其方法。
①?設計模式的征途-07.適配器(Adapter)模式
②?設計模式的征途-08.橋接(Bridge)模式
③?設計模式的征途-09.組合(Composite)模式
④?設計模式的征途-10.裝飾(Decorator)模式
⑤?設計模式的征途-11.外觀(Facade)模式
⑥?設計模式的征途-12.享元(Flyweight)模式
⑦?設計模式的征途-13.代理(Proxy)模式
4? 行為型模式篇
行為型模式用于描述程序在運行時復雜的流程控制,即描述多個類或對象之間怎樣相互協作共同完成單個對象都無法單獨完成的任務,它涉及算法與對象間職責的分配。
行為型模式分為類行為模式和對象行為模式,前者采用繼承機制來在類間分派行為,后者采用組合或聚合在對象間分配行為。由于組合關系或聚合關系比繼承關系耦合度低,滿足“合成復用原則”,所以對象行為模式比類行為模式具有更大的靈活性。
①?設計模式的征途-14.職責鏈(Chain of Responsibility)模式
②?設計模式的征途-15.觀察者(Observer)模式
③?設計模式的征途-16.訪問者(Visitor)模式
④?設計模式的征途-17.模板方法(Template Method)模式
⑤?設計模式的征途-18.策略(Strategy)模式
⑥?設計模式的征途-19.命令(Command)模式
⑦?設計模式的征途-20.備忘錄(Memento)模式
⑧?設計模式的征途-21.迭代器(Iterator)模式
⑨?設計模式的征途-22.中介者(Mediator)模式
⑩?設計模式的征途-23.解釋器(Interpreter)模式
5? 代碼整潔之道
《代碼整潔之道》主要講述了一系列行之有效的整潔代碼操作實踐。軟件質量,不但依賴于架構及項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。這本書的閱讀對象為一切有志于改善代碼質量的程序員,書中介紹的規則均來自作者Bob大叔多年的實踐經驗,涵蓋從命名到重構的多個編程方面,雖為一“家”之言,然誠有可資借鑒的價值。下文是我學習《代碼整潔之道》一書的讀書筆記以及.NET平臺下代碼規范插件StyleCop.Analyzer的使用:
《代碼整潔之道》(Clean Code)?讀書筆記
“細節之中自有天地,整潔成就卓越代碼”
參考資料
劉偉,《設計模式的藝術—軟件開發人員的內功修煉之道》
程杰,《大話設計模式》
Robert Martin,《代碼整潔之道》
示例代碼
GitHub:https://github.com/EdisonChou/DesignPattern.Samples.CSharp
The End
「?碼字不易,也希望各位看官看完覺得還行就在本文右下方順手點個“在看”,那就是對我最大的鼓勵!如果覺得很好,也可以轉發給你的朋友,讓更多人看到,獨樂樂不如眾樂樂,是吧?」
往期精彩回顧
.NET Core on K8S學習與實踐系列文章索引目錄
.NET Core 微服務學習與實踐系列文章索引目錄
【資料】2019 .NET China Conf 大會資料下載
【視頻】2019 .NET China Conf 大會視頻發布
2019?.NET?China?Conf 路一直都在,社區會更好
基于Jenkins的開發測試全流程持續集成實踐
基于Jenkins Pipeline的.NET Core持續集成實踐
【導讀】我讀經典,心曠神怡 -?經典書籍讀后感匯總
【導讀】我的詩和遠方?- 也讀唐詩與旅游游記匯總
點個【在看】和他人一起分享
總結
以上是生活随笔為你收集整理的【C#】设计模式的学习征途系列文章目录(2019版)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Steeltoe 2.4新增代码生成工具
- 下一篇: 原创 | 为什么年终奖是一个彻头彻尾的职