簡單上手設計模式git
GITHUB:https://github.com/Fisher-Joe/EasyToLearnDesignPatterngithub
本文旨在使用最簡單的語言,最簡單的代碼讓人學習設計模式(最起碼是我)設計模式
說明:學習
- 本文的全部內容都是基於引用文章的再次整理,後續版本也將以此爲基礎進行擴展和豐富;
- 爲何本文中的例子沒有改寫成C#?其實原做者使用的例子的語言一看即懂不與理解衝突,後續的實例,我將以C#爲例;
注意:ui
- 您必須有必定的開發經驗才能更好的理解該系列的文章;
- 若是你發現某個設計模式,你沒法理解,那麼請多搜索一下,或者跳下一個看,不要糾結某一個上面;
- OOP設計原則是全部設計模式的總綱,若是你夠歷害,不用看設計模式,只看這個就好了;
- 設計模式解決的是變化點,若是沒有變化,就用不上它了;
- 有的時候要反設計模式,並非說必須遵照;
0. 總則
1. 建立模式
設計模式(一):工廠模式 簡單工廠|靜態工程、工廠方法|多工廠、抽象工廠spa
設計模式(二):單例模式.net
設計模式(三):建造者模式Builder與原型模式Prototype設計
2. 結構模式
設計模式(四):適配器模式 Adapter 類適配器、對象適配器、接口適配器代理
設計模式(五):裝飾器模式(Decorator)和代理模式(Proxy)|委託模式(Delegater)
設計模式(六):外觀模式(Fecade)與橋接模式(Bridge)詳解
設計模式(七):組合模式(Composite)與享元模式(Flyweight)詳解
設計模式(八):過濾器模式(Filter)及Kotlin的Filter模式
3. 行爲模式
設計模式(九):策略模式(Strategy)與模板模式(Template)詳解及兩者間區別介紹(兩種父子類行爲模式)
設計模式(十):觀察者模式|迭代器模式|責任鏈模式|命令模式(四種類間行爲模式)
設計模式(十一):備忘錄模式(Memento)|狀態模式(State) - (兩種類狀態行爲模式)
設計模式(十二):中介模式|訪問者模式|解釋器模式(三種中間類行爲模式)