0

入力した特定の基準に基づいてユーザーに一連の質問をするasp.net mvc4アプリケーションを作成しています。各質問はテーブルに保存され、基準を満たす質問のみがエンド ユーザーに表示されます。

いくつかの異なるテーブルからの情報を組み合わせるビューモデルを使用しています。基本的に、質問のリストと、すべてのテストを結び付ける検査 ID があります。私の質問は、ビューモデルを作成するための適切な oo 設計手法は何かということです。

ビューモデルを設定するためのメソッドは、ビューモデル クラス自体に存在する必要がありますか? 基本的にエンティティをビューモデルに渡し、それ自体を設定できるようにします。

エンティティを送信してビューモデルを返す新しいクラスが必要ですか?

または、これを行うためのより良い方法があります。

4

1 に答える 1

2

はい、あなたのアプローチは有効です。

モデルで次の例を検討してください。

public List<Questions> Questions
{ 
get {
     QuestionRepository Rep = new QuestionRepository();
     return Rep.ObtainQuestions(ClientAge,ClientType)
     }
 }

public int ClientAge { get; set; }
public ClientTypeEnum ClientType { get; set; }

Questions プロパティのゲッターにはすべてのロジックが含まれます。clientAge および ClientType プロパティが有効な値を持っている限り、質問リストは入力されます。これにより、プロパティを設定する必要があるすべてのアクション メソッドでデータを設定する必要がなくなります。

この例では、リポジトリからデータを取得していますが、ORM のようなエンティティ フレームワークやその他のソースから取得することもできます。

スキニーコントローラーという用語をグーグルで検索し、推奨事項とベストプラクティスについて詳しく読むことができます.

于 2013-12-09T19:39:56.390 に答える