blog

つのデザインパターンにおけるDispatcherServletの個人的な理解

最近、Spring Bootのソースコードを見て、関心のDispatcherServletは、要求の到着を観察し、どのように実行するクラスだけでなく、それに関与するデザインパターン、簡単な分析を行うに...

May 3, 2020 · 2 min. read

最近、Spring Bootのソースコードを見て、DispatcherServletの関心は、要求が到着し、クラスが実行される方法だけでなく、それに関与するデザインパターンを観察し、簡単な分析を行いました。

クラスの設計は、ビューの構造的な観点から、ブリッジパターンにする必要があります。これは、クラスの設計で見ることができるだけでなく、HttpServletの実装ですが、また、インターフェイスのSpringの機能を実装するために、機能を拡張する過程で、単一の親クラスの継承関係のブラインド使用されていない、この構造は、ブリッジパターンの定義に沿っています。

Springの実行時に、DispatcherServletがインスタンス化され、このクラスは、HttpServletdの機能を持っており、httpリクエストの処理は、最初にservice()メソッドを呼び出すDispatcherServletインスタンスによって処理され、その最終的な実装は、HttpServletBeanにあります。FrameworkServletは、FrameworkServletのサービスメソッドは、文super.service()を持っており、親クラスHttpServletBeanはservice()をオーバーライドしないので、HttpServletのサービスメソッドに、この時点ではサービスメソッドは、要求を処理するdoXXX()メソッドを呼び出すと、これらのメソッドは、DispatcherServletのインスタンスでは、特定の実装を持っているので、メソッドは、インスタンスで使用される、プロセスは非常に責任パターンのチェーンのデザインパターンのように感じるが、気持ちは少し遠いです。

下線は、クラス内にこのメソッドの実装がないことを示し、親クラスで探す必要があることを示しています。

Read next

アプレットイベントの動的パラメータ渡しを理解する

bindまたはcatchでイベントをバインドした後、イベントをバインドする要素でdata-dynamic-parameter-name="value-to-pass "を使用し、対応するイベントでdynamic-parameter-nameまたは

May 2, 2020 · 1 min read