Springフレームワークで使用されている設計パターンは何ですか?
回答:
さまざまな設計パターンが使用されていますが、いくつか明白なものがあります。
シングルトン-Spring構成ファイルで定義されたBeanは、デフォルトではシングルトンです。
テンプレートメソッド-ボイラープレートの反復コード(接続をきれいに閉じるなど)を処理するために広く使用されます。たとえば、JdbcTemplate、JmsTemplate、JpaTemplateです。
次のコメントを更新:MVCの場合は、MVCリファレンスを読むことをお勧めします
MVCで使用されているいくつかの明らかなパターン:
モデルビューコントローラー :-)。Spring MVCの利点は、コントローラーがサーブレットではなくPOJOであることです。これにより、コントローラーのテストが容易になります。注意すべきことの1つは、コントローラーは論理ビュー名を返すことだけが必要であり、ビューの選択は別のViewResolverに任されていることです。これにより、さまざまなビューテクノロジでコントローラーを再利用しやすくなります。
フロントコントローラー。SpringはDispatcherServletを提供して、着信要求がコントローラーに確実にディスパッチされるようにします。
ビューヘルパー -Springには、ビューでのプレゼンテーションからコードを分離するのを支援するために、いくつかのカスタムJSPタグとベロシティマクロがあります。
Foo
のインスタンスを取得Foo
すると、2つの異なるオブジェクト参照を取得します。代わりに、ここで適用されるデザインパターンはフライウェイトです
DIのことは、実際にはある種の戦略パターンです。ロジック/実装を交換可能にしたい場合は、通常、ホストクラスにインターフェースと適切なセッターメソッドを見つけて、そのインターフェースのカスタム実装を配線します。
ファクトリメソッドパターン:オブジェクトのインスタンスを作成するためのBeanFactoryシングルトン:インスタンスタイプはコンテキストのシングルトンにすることができますプロトタイプ:インスタンスタイプはプロトタイプにすることができます。ビルダーパターン:複雑なインスタンスの作成を担当するクラスでメソッドを定義することもできます。
Springコンテナは、Beanスコープ(シングルトン、プロトタイプなど)に応じてBeanオブジェクトを生成します。したがって、これはAbstract Factoryパターンを実装するように見えます。Springの内部実装では、各スコープを特定のファクトリの種類のクラスに関連付ける必要があります。