私はASP.NET MVCサイトを持っており、コントローラーとモデル (リポジトリー) および HTML ヘルパー機能の分離を理解しようとしています。
目標は、フォト アルバム情報のデータベース テーブルにクエリを実行し、それを年ごとにグループ化して表示することです。
手順は次のとおりです。
- データベースにクエリを実行し、データベース情報のデータテーブルを返します。
- Datatable を AlbumCollection に変換 (リスト)
- 年ごとにアルバムを ALbumDictionary にバケット化する
- 毎年別の HTML テーブルにレンダリングします。
この要求が与えられた場合、次のことがわかります: 1,2,3 はすべてモデル内にあり、コントローラは単純に View を AlbumDictionary モデルにバインドするか、モデル内で 1,2 をバインドして AlbumCollection にバインドし、3 を HTML ViewHelper または 1,2 にバインドします。コントローラーのモデル3で、Albumdictionaryにバインドします
考え?
最初のループですべての変換を行うと最高のパフォーマンスが得られますが、それが最善の関心事の分離であるかどうかはわかりません。
特に上記の質問に対しては、一般的なフィードバックが興味深いでしょう: 関心の分離がパフォーマンスを覆すのはいつですか、またはその逆ですか?