在脈脈上看過一個帖子:在工作中最常用的設計模式都有哪些?
總結一下這些出現頻率高的設計模式(排名不分先后)
創建型設計模式
- 工廠模式(簡單工廠、抽象工廠、工廠方法)
- 單例模式
結構型設計模式
- 裝飾器模式
- 組合模式
行為型設計模式
- 責任鏈模式
- 策略模式
注意:
- 設計模式不是解決所有問題的靈丹妙葯。
- 不要試圖強迫使用他們; 如果這樣做的話,會發生壞事。
- 請記住,設計模式是問題的解決方案,而不是解決問題的解決方案;所以不要過分思考。
- 如果以正確的方式在正確的地方使用,他們可能是救世主; 否則他們可能會導致代碼混亂。
(自己還沒理解,例子以后再補)
簡單工廠模式
抽象工廠模式
工廠方法模式
單例模式
裝飾器模式
組合模式
策略模式
解決 在有多種算法相似的情況下 if...else 所帶來的復雜和難以維護
具體的場景就是,需求可能會改變,但是外部調用的方法現在就要寫好,所以就需要留下可拓展的空間
策略設計模式使用? - nonesuccess的回答 - 知乎
責任鏈模式
參考資料:
https://www.guanguans.cn/design-patterns-for-humans-cn
https://www.runoob.com/design-pattern/design-pattern-tutorial.html
