JavaScript設計モードの実践:18部のノート、例とソースコード


背景紹介
以前「JavaScriptデザインモデルと開発実践」という本を読んだとき、出荷が豊富で、デザインモデルの多くのシーンでの応用を学びました.
しかし、本のシーンが多すぎるため、あるデザインパターンが覚えられない場合、本をめくって複雑なケースを復習するコストは比較的高い.時には、クラシックで簡潔なdemoだけで、迅速に精髄を振り返ることができます.迅速なビジネス開発では、これは比較的経済的な方法です.
それ以外に、主要な仕事の言語が変化する時(例えば:js->python)、簡潔なdemoは更に開発者がある設計モードの精髄と実現構想を迅速に思い出すことを助けることができて、開発者が言語の特性によって更に実現することを便利にします.
そのため、比較的重要な18種類の設計モードについて、私はすべてその1種の経典の応用を選んで、そしてできるだけES6の文法とプログラミングの習慣を使って実現します.最初の10の設計モデルはPython3の実装バージョンも提供された(後に忙しくなり、放棄された).
記事のアドレス
全部で18のデザインパターンを記録し、一部の文章は掘金に送られたが、精力が限られているため、後のいくつかの文章はGithub倉庫/個人ブログに直接置かれた.
  • 単例モード:https://godbmw.com/passages/2018-10-23-singleton-pattern/
  • ポリシー・モード:https://godbmw.com/passages/2018-10-25-stragegy-pattern/
  • エージェント・モード:https://godbmw.com/passages/2018-11-01-proxy-pattern/
  • 反復モード:https://godbmw.com/passages/2018-11-06-iter-pattern/
  • サブスクリプション-パブリッシュモード:https://godbmw.com/passages/2018-11-18-publish-subscribe-pattern/
  • コマンドモード:https://godbmw.com/passages/2018-11-25-command-pattern/
  • コンビネーションモード:https://godbmw.com/passages/2018-12-12-composite-pattern/
  • ユーティリティー:https://godbmw.com/passages/2018-12-16-flyweight-pattern/
  • 責任チェーンモデル:https://godbmw.com/passages/2019-01-07-chain-of-responsibility-pattern/
  • デコレーションモード:https://godbmw.com/passages/2019-01-12-decorator-pattern/
  • ステータスモード:https://godbmw.com/passages/2019-01-16-state-pattern/
  • アダプタモード:https://godbmw.com/passages/2019-01-17-adapter-pattern/
  • ブリッジモード:https://godbmw.com/passages/2019-01-19-bridge-pattern/
  • インタプリタモード:https://godbmw.com/passages/2019-01-25-interpreter-pattern/
  • メモモード:https://godbmw.com/passages/2019-01-26-memento-pattern/
  • テンプレートモード:https://godbmw.com/passages/2019-01-31-template-pattern/
  • 工場モデル:https://godbmw.com/passages/2019-03-31-factory-pattern/
  • 抽象工場モデル:https://godbmw.com/passages/2019-04-01-abstract-factory-pattern/

  • 最後に置く
    実はこれらを整理した理由のもう一つは、今年の春募集の面接を準備するためです.それからテンセントの校招とアリの前の3つの方面を过ぎて発见して、意外にも専门的に设计のモードの関连する知识を闻いていません!
    しかし、振り返ってみると、設計モデルを系統的に学習し、理性的に使用することは(使用するためではない)、コードの可読性を向上させ、ビジネスのデカップリングを実現することができる.これらの文章を書く過程で、それぞれの設計モード自身も多くの実現(python、java、c++に限らない)を探して参考にして、探求式の学習はやはり面白いです.
    それでも、2つの文章の瑕疵はやはり多くて、あなたが交流の心理状態を持って読むことを望んで、もし適切でないならば、指摘して、共に向上することを歓迎します.