說起自己學習設計模式的經歷,還要從自己第一次做技術負責人開始,以前做開發的時候從沒有想過系統設計應該如何進行?架構設計、緩存、隊列等如何落地應用,只是單純一味地接收任務然后 Do it,并沒有仔細領會為什么要如此設計?多線程時為什么要引入單例模式?為什么模塊設計要面向接口編程而不是具體實現?諸如此類的問題還有很多很多,都是筆者開始從事技術官的時候才開始思考的問題,現在想來,確實時間上已經有點晚了,導致接觸到系統設計的時候才意識到設計模式的重要性。
以筆者個人經歷來講,趁早學習設計模式對以后進階很有幫助,良好的設計模式掌握能力一是能幫助你順利通過面試,找到更好的工作,二是能幫你更好地進階架構師、技術布道者,對那些喜歡鉆研技術的開發人員來說是很有益的。
閱讀設計模式,更多地還能幫助我們梳理解決問題的思路,學習設計模式中蘊藏的豐富的設計理念,取其精髓,取長補短,將這些設計不斷應用于現實的系統設計之中,更有助于設計出符合設計美學、高內聚低耦合的功能模塊。
為了幫助大家更好地學習設計模式,在接下來的 34 節課程中,我們會先從設計模式的幾大原則講起,“知其然還要知其所以然”,悉數講解市面上常見的近 30 種設計模式,通過類圖講解、代碼示例、應用場景、優缺點說明等通俗易懂的文字幫助大家更好地理解這些設計模式,并從中總結出設計模式的使用、注意事項等,最終篇會對課程進行系統總結,實踐總結,幫助大家的更好地溫故而知新。
每節設計模式的內容結構,精簡明了,大致內容結構組成如下:
- 當前設計模式大白話講解
- 類關系圖及說明
- 代碼實現示例
- 優缺點分析
- 適用場景歸納
- 使用實例
- 總結和源碼下載
本課程涉及的設計模式比較全面,主要有:單例模式、工廠模式、建造者模式、原型模式、適配器模式、橋接模式、外觀模式、享元模式、責任鏈模式、代理模式、解釋器模式、迭代器模式、中介者模式、觀察者模式、策略模式、模板模式、業務代表模式等等,累計涉及到的模式 30 種,爭取一次幫大家梳理全面,而不用為了了解某個模式這搜搜那查查地。另外,本課程學習門檻較低,只要是對設計模式感興趣地開發人員均可了解學習,只要你秉著一顆潛心學習的態度,那么,本課程絕對是對你有所獲益地,課程簡潔而不簡單,希望大家通過課程的學習,早日找到合適的工作,對技術路上更好地進階有所幫助。
總之,專欄內容我們會做到力求通俗易懂,也希望屏幕前的你閱讀完本課程后能多提意見,多交流,從而多多少少有所獲益,早日成為技術領域的布道者。