2009-07-07 22 views
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)コントローラはこのオブジェクトへの参照を保持する必要がありますが、このデータは最終的にエンティティオブジェクトを生成します。

何か助けや助言をいただければ幸いです。

答えて

1

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

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

このアプリの大きさと、パターンウサギの穴の深さによって異なります。

+0

+1「パターンウサギ穴」。 –

関連する問題