JavaScript設計模式實踐:18份筆記、例子和源碼

背景介紹

之前在閱讀《JavaScript設計模式和開發實踐》這本書的時候,收貨頗豐,學習了設計模式在很多場景下的應用。

但也是因爲書上場景過多,所以當記不清某一種設計模式的時候,翻書溫習複雜案例的成本是相對較高的。有時候,只需要一段經典、簡潔的demo就可以迅速回顧起精髓,在快速業務開發中,這是個比較經濟的做法。

除此之外,當主要工作語言發生變化的時候(例如:js -> python),簡潔的demo更能幫助開發者快速回憶某種設計模式的精髓和實現思路,方便開發者根據語言特性再做實現。

因此,對於比較重要的18種設計模式,我都挑選了它的一種經典應用,並且儘量使用ES6的語法和編程習慣來進行實現。 前10個設計模式還提供了Python3的實現版本(後來比較忙,遂放棄)

文章地址

一共記錄了18個設計模式,部分文章發到了掘金,由於精力有限,後面幾篇文章就直接放在了Github倉庫 / 個人博客

  1. 單例模式:https://godbmw.com/passages/2018-10-23-singleton-pattern/
  2. 策略模式: https://godbmw.com/passages/2018-10-25-stragegy-pattern/
  3. 代理模式: https://godbmw.com/passages/2018-11-01-proxy-pattern/
  4. 迭代器模式: https://godbmw.com/passages/2018-11-06-iter-pattern/
  5. 訂閱-發佈模式: https://godbmw.com/passages/2018-11-18-publish-subscribe-pattern/
  6. 命令模式: https://godbmw.com/passages/2018-11-25-command-pattern/
  7. 組合模式: https://godbmw.com/passages/2018-12-12-composite-pattern/
  8. 享元模式:https://godbmw.com/passages/2018-12-16-flyweight-pattern/
  9. 責任鏈模式: https://godbmw.com/passages/2019-01-07-chain-of-responsibility-pattern/
  10. 裝飾者模式: https://godbmw.com/passages/2019-01-12-decorator-pattern/
  11. 狀態模式: https://godbmw.com/passages/2019-01-16-state-pattern/
  12. 適配器模式: https://godbmw.com/passages/2019-01-17-adapter-pattern/
  13. 橋接模式: https://godbmw.com/passages/2019-01-19-bridge-pattern/
  14. 解釋器模式: https://godbmw.com/passages/2019-01-25-interpreter-pattern/
  15. 備忘錄模式: https://godbmw.com/passages/2019-01-26-memento-pattern/
  16. 模板模式: https://godbmw.com/passages/2019-01-31-template-pattern/
  17. 工廠模式: https://godbmw.com/passages/2019-03-31-factory-pattern/
  18. 抽象工廠模式: https://godbmw.com/passages/2019-04-01-abstract-factory-pattern/

放在最後

其實整理這些的原因還有一個,就是爲了準備今年春招的面試。然後過了騰訊的校招和阿里的前三面發現,竟然沒有專門問到設計模式相關知識!

但回首看,系統地學習、理智地使用設計模式(不是爲了用而用),確實能提升代碼的可讀性,實現業務解耦。而在寫這些文章的過程中,每種設計模式自己也是會找很多的實現(包括不限於python、java、c++)來參考,探索式學習還是蠻有趣的。

儘管如此,有2篇文章的瑕疵還是很多,希望您抱着交流的心態來閱讀,如有不當,歡迎指出、共同提升

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章