2016-07-19 20 views
0

私は同僚と大規模な会話をしていました。1つのサーブレットコントローラと複数のコントローラ

アノテーションに基づいてサーブレットを生成する単純なフレームワークを作成します。それをコントローラーと呼んでみましょう。これはSpring MVCと似ていますが、フロントコントローラのアプローチはありません。代わりに、このフレームワークは、@Controllerアノテーションでマークされたすべてのクラスに対して新しいサーブレットを生成します。

他の部分では、フロントコントローラのアプローチを使用して、ソースの生成とホイールの再作成について忘れることがあります。

質問が関連しているかどうかわかりませんが、パフォーマンスの観点からはどのように改善されますか?すべてのコントローラに新しいサーブレットを使用(生成)するか、サーブレットを使用してアクションを解決しますか?

+0

コントローラのマルチインスタントを意味しますか。 –

+0

私は、すべてのコントローラに独自のサーブレット(フレームワークによって生成されたもの)があることを意味します。 – sanny

+0

なぜ、あまりにも多くのフレームワークがある場合、独自のWebアプリケーションフレームワークを発明するのですか?Spring Web MVCなどの標準を使用するだけではどうですか? – Jesper

答えて

1

パフォーマンスの観点から私は大きな違いは見当たりません。おそらく、ヒープサイズを適切にするために、いくつかの異なるServlets Objetsを作成することはありません。通常、MVCフレームワークは1つのコントローラしか使用しないので、私の考えでは、ホイールを再作成することができない場合は、良いアイデアが標準的な方法で作成されます。

とにかく、コントローラはシンプルでなければならず、その唯一のロジックはビジネスサービスに対するリクエストアクションでなければなりません。 Servlet Controllerだけでなく、より一般的なFacade Patternの使用に質問を拡張することができます。あなたは、アプリケーションのスケーラビリティとモジュール性の要件がそれを必要とするときに使用するべきです。

関連する問題