1

誰かがこれについての考えを共有できれば、非常にありがたいです。私はSpringは初めてですが、MVCは初めてではありません。ただし、MVC に触れたのは主にフロントエンド側でした。

SpringMVC Framework 3.0 を使用する動的サイトがあり、サイトに次のような 5 つのリンクがあるとします。

ホーム | 家族 | コメディ | ホラー | ホラー アクション

これらの各リンクは、データベースにクエリを実行し、情報を表示します。MVC フレームワークを介してフロントエンドでこれを行う場合、5 つの異なるコントローラーが必要になりますが、コントローラーが 1 つしかなく、リゾルバーが多数あるという質問 (Stackoverflow) に出会いました。私は正しいアプローチが何であるか知りたいですか?

上記の質問へのリンクは次のとおりです 。Spring controller setup question?

4

3 に答える 3

2

Jaanas が言ったように、実際には、各リンクのデータを取得する方法と、結果のページがすべて同じデータ モデルとテンプレート (JSP) に基づいているか、互いに完全に異なっているかによって異なります。

私は「ホーム」に別のコントローラーを使用する傾向がありますが、それらの他のページが単純にデータベースにクエリを実行している場合は、単一のコントローラーからそれらを提供し始めます。

また、REST 原則の観点からページを考えてみることも良い考えです。REST URI の観点からリンクを確認し始めると、さまざまな URI が同じコントローラーに配置されるか、別のコントローラーに配置されるかの決定は明らかです。たとえば、「家族」の URI が の場合、それらの 4 つのリンクすべてがクラス (またはクラス、アノテーションでカテゴリをキャプチャするメソッドを含む)/movie/genre/familyに移動する必要があることが明らかになります。GenreControllerMovieController/genre@PathVariable

于 2012-10-05T07:28:32.213 に答える
1

これは、各リンクの背後にあるロジックの量によって異なります。各コントローラーにマッピングが1つしかない場合は、単一のコントローラーを使用できます。

そうは言っても、あなたのような小さなプロジェクトだけを行うときは、私はまだ別々のコントローラーを持っていることを好みます。

一方、プロジェクトが拡大すると、コントローラーの量が途方もなく多くなり、あまり効果がなくなる可能性があります。その場合、コントローラーを最初からグループ化できるため、論理的な側面がほぼ等しい類似のコントローラーをグループ化できます。

于 2012-10-05T06:10:44.540 に答える
1

アプリケーション内のコントローラーの数は、プロジェクトの範囲によって異なります。固定要件があり、操作の数が制限されている場合は、すべての要求を処理する単一のコントローラーを使用できます。

ただし、要件が固定されていない場合、またはアプリケーションのバージョンによって増加する場合は、別のモジュールに別のコントローラーを使用する必要があります。将来的には、アプリケーション コードを簡単に管理できるようになります。

コードのメンテナンスを改善するために、モジュールごとに個別のコントローラーを使用することをお勧めします。

于 2012-10-05T07:23:17.340 に答える