1

単純な Web アプリケーションで監視コントローラー パターンを使用しようとしています。私のビューはサインアップ フォームであり、ユーザーが入力するための多くのフィールドがあります (gmail サインアップの数ページを考えてください)。このデータはエンティティに入力され、このエンティティはユーザーが送信したときに処理されます。

例えば:

public interface ICreateAccountView
{
    string firstname { get; set; }
    string lastname { get; set; }
    string loginName { get; set; }
    string password { get; set; }
    string addressLine1 { get; set; }
    string addressLine2 { get; set; }
    string postCode { get; set; }
    IList<string> preferences { get; set; }
    .... Many others omitted
}

これについていくつか質問があります。

1) 非常に多くのプロパティがある場合、このようにビューにプロパティを設定する必要がありますか? とにかく入力するエンティティ オブジェクトを使用するべきではありませんか?

2) このデータは最終的にエンティティ オブジェクトに入力されるため、コントローラーはこのオブジェクトへの参照を保持する必要がありますか?

ヘルプやアドバイスをいただければ幸いです。

4

1 に答える 1

1

エンティティの形式ですべてのビュー データを返す、コントローラーが呼び出すことができるメソッドをビューに持たない理由はありません。コントローラーがデータを要求している限り、問題ありません。

今そこにいる純粋主義者のために。ビューから「エンティティ」を返さないことを好むでしょう。代わりに、ビュー オブジェクト (または dto/データ転送オブジェクト) を返すようにして、ビューが実際に中間層/ドメイン オブジェクトの概念を持たないようにします。これにより、ビューがビジネス層からもう少し切り離されます。

このアプリの大きさと、パターンのウサギの穴にどれだけ深く入りたいかによって異なります。

于 2009-07-07T21:47:57.650 に答える