1. ホーム
  2. asp.net-mvc

[解決済み] ソートロジックは、モデル、ビュー、コントローラのいずれに配置するのがよいのでしょうか?[クローズド]

2022-04-26 02:44:53

質問

エンドユーザーにテーブルから値を表示するドロップダウンリストがあります。これらの値をアルファベット順に並べ替えたいと思います。

適切なMVC設計によれば、モデル、ビュー、コントローラのどの層にソートロジックを配置すればよいのでしょうか?

EDIT : LarsHの質問、"ソート順を決定するコードのことですか、それともソートを実行するコードのことですか、"に対して、私はもともと、ソート順を決定するコードのことを指していたのです。

解決方法は?

(注)この引用と引用文は、以下のサイトから引用しています。 dasblinkenlight さんの回答 しかし、私たちはその解釈について同意していません。彼の投稿を読んで、あなた自身の考えを決めてください)。

によると MVCの説明 ,

コントローラは、関連するビューにコマンドを送信して、ビューのモデルの表示を変更することができます (たとえば、ドキュメントをスクロールすることによって)。また、モデルの状態を更新するために、モデルにコマンドを送ることができます (例えば、ドキュメントを編集する)。

ソートロジック(例:ソートコンパレータ/ソートアルゴリズム)は、ビジネスルールとステートデータを含むため、モデルに属する。モデルデータのソート方法を変更することは、正に "ビューのモデルの表示を変更すること" に該当するので、コントローラは model.changeSortedState() メソッドを呼び出してソートを実行する責任を負います。