JavaScript設計モードの実践:18部のノート、例とソースコード
背景紹介
以前「JavaScriptデザインモデルと開発実践」という本を読んだとき、出荷が豊富で、デザインモデルの多くのシーンでの応用を学びました.
しかし、本のシーンが多すぎるため、あるデザインパターンが覚えられない場合、本をめくって複雑なケースを復習するコストは比較的高い.時には、クラシックで簡潔なdemoだけで、迅速に精髄を振り返ることができます.迅速なビジネス開発では、これは比較的経済的な方法です.
それ以外に、主要な仕事の言語が変化する時(例えば:js->python)、簡潔なdemoは更に開発者がある設計モードの精髄と実現構想を迅速に思い出すことを助けることができて、開発者が言語の特性によって更に実現することを便利にします.
そのため、比較的重要な18種類の設計モードについて、私はすべてその1種の経典の応用を選んで、そしてできるだけ
記事のアドレス
全部で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つの文章の瑕疵はやはり多くて、あなたが交流の心理状態を持って読むことを望んで、もし適切でないならば、指摘して、共に向上することを歓迎します.
以前「JavaScriptデザインモデルと開発実践」という本を読んだとき、出荷が豊富で、デザインモデルの多くのシーンでの応用を学びました.
しかし、本のシーンが多すぎるため、あるデザインパターンが覚えられない場合、本をめくって複雑なケースを復習するコストは比較的高い.時には、クラシックで簡潔なdemoだけで、迅速に精髄を振り返ることができます.迅速なビジネス開発では、これは比較的経済的な方法です.
それ以外に、主要な仕事の言語が変化する時(例えば:js->python)、簡潔なdemoは更に開発者がある設計モードの精髄と実現構想を迅速に思い出すことを助けることができて、開発者が言語の特性によって更に実現することを便利にします.
そのため、比較的重要な18種類の設計モードについて、私はすべてその1種の経典の応用を選んで、そしてできるだけ
ES6
の文法とプログラミングの習慣を使って実現します.最初の10の設計モデルはPython3
の実装バージョンも提供された(後に忙しくなり、放棄された).記事のアドレス
全部で18のデザインパターンを記録し、一部の文章は掘金に送られたが、精力が限られているため、後のいくつかの文章はGithub倉庫/個人ブログに直接置かれた.
最後に置く
実はこれらを整理した理由のもう一つは、今年の春募集の面接を準備するためです.それからテンセントの校招とアリの前の3つの方面を过ぎて発见して、意外にも専门的に设计のモードの関连する知识を闻いていません!
しかし、振り返ってみると、設計モデルを系統的に学習し、理性的に使用することは(使用するためではない)、コードの可読性を向上させ、ビジネスのデカップリングを実現することができる.これらの文章を書く過程で、それぞれの設計モード自身も多くの実現(python、java、c++に限らない)を探して参考にして、探求式の学習はやはり面白いです.
それでも、2つの文章の瑕疵はやはり多くて、あなたが交流の心理状態を持って読むことを望んで、もし適切でないならば、指摘して、共に向上することを歓迎します.