設計模式全家桶

前言:筆者在最初寫程序的時候,常會遇到一些狀況。 例如:更改一個字段或者添加一種小功能,就要把原來寫過的東西廢棄,重新大量更改以前寫過的代碼; 回顧很久以前編寫的代碼,完全找不到當時為什么這么寫的原因; 遇到了Bug,更是無法快速定位問題所在。
當你也遇到這類問題,就說明現階段急需學習設計模式了

網上通常說的設計模式有23種,也有一些相關設計模式的變種。如果讓筆者來形容什么是設計模式,我認為設計模式是:一種套路,一種模式,一種思想,一種解決問題的高效策略

舉個簡單的列子:從A點到B點,有多種線路可供選擇,每種線路都有自己的優缺點。如何基于需求選擇適合自己的線路?通過運用設計模式這種思想,可以提供最優策略。


如有任何疑問可加QQ群:46885339,筆者看到會第一時間回復。



設計模式準則

設計模式之面向對象七大原則

一、創建型模式

創建型設計模式:不是直接使用 new 運算符實例化對象,而是一種創建對象的同時隱藏創建細節的方式。這使得程序在創建指定對象時更加靈活。

1.1.設計模式之簡單工廠:構建的簡單轉移
1.2.設計模式之工廠方法:單個構建的轉移
1.3.設計模式之抽象工廠:一套構建的轉移
1.4.設計模式之原型模式:自身分裂與復制
1.5.設計模式之建造者模式:復雜裝配流程的關注
1.6.設計模式之單例模式:獨一無二


二、結構型模式

結構型設計模式:關注類和對象的組合。繼承的概念被接口和組合對象所代替,使之獲得新功能的方式。

2.1.設計模式之適配器模式:追求統一的補丁
2.2.設計模式之橋接模式:產品標準的制定
2.3.設計模式之裝飾器模式:功能的動態添加
2.4.設計模式之組合模式:領導與跟隨
2.5.設計模式之享元模式:共享
2.6.設計模式之代理模式:權限的控制
2.7.設計模式之門面模式:引導菜單

三、行為型模式

行為型設計模式:主要關注對象之間的通信。

3.1.設計模式之責任鏈模式:請求的傳遞
3.2.設計模式之狀態模式:變身
3.3.設計模式之命令模式:布置與實行
3.4.設計模式之迭代器模式:A = A+1;
3.5.設計模式之中介者模式:中轉站
3.6.設計模式之備忘錄模式:版本控制
3.7.設計模式之策略模式:多策略跳轉
3.8.設計模式之觀察者模式:訂閱喜歡的頻道
3.9.設計模式之訪問者模式:操作剝離與重新整合
3.10.設計模式之模板方法模式:按步驟執行
3.11.設計模式之解釋器模式:轉換與翻譯

總結:

前前后后用了3個多月,終于把新版的設計模式寫完了。當初打算重寫設計模式是因為離職,有了較長時間可以整理學習,就萌發出重新寫一套設計模式的想法。希望【設計模式全家】能夠給大家帶來幫助。

在不斷學習的過程中,筆者發現能快速進步必須要有的四要素:

  • 優秀的學習資料
  • 適合自己的學習方法
  • 對掌握知識的歸納總結(筆者用寫博客的形式費曼學習法
  • 每天前進一小步

主要參考相關鏈接
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容