2011-10-20 8 views
0

私はMVCを初めて使いました。私はここで何か経験があるかもしれない人に確認したいと思っていました。MVCモデルとWCFデータコントラクトデザイン

私が正しく理解していれば、MVCのモデルは、ビューレベルで発生させたいビューロジックをカプセル化するために使用されます。同じ種類のデータ(EFモデル、WCF DataContractなど)では、実際には、そのデータの編集や表示をサポートする2つまたは3つの異なるモデルがあります。

DRYが心配でしたが、WCFコントラクトが特定のビューのモデルオブジェクトに「変換」されることが正しいと考えています。効果的に、モデルにはWCF DataContractのコンストラクタがあり、モデルのデータからDataContractを生成するメソッドがありますか?

アドバイス?

答えて

0

"ビュー・レベルで発生させたいビュー・ロジックをカプセル化するためにMVCのモデルが使用されています。" - 私はこれに同意しません。モデルはビジネスコンセプトの表現でなければなりません。 表示は、プレゼンテーションと関連しており、モデルをHTMLページとしてレンダリングします。

あなたのモデルのフォームは、振る舞いを持つドメインオブジェクトである場合もあれば、別のサービスによってカプセル化されている場合は、そのサービスが返すデータコントラクトである場合があります。ビュー自体は、モデルの「タイプ」がどのモデルに渡されているのかにほとんど無関心でなければなりません。レンダリングを生成するために必要な関連データが存在することだけが気になるはずです。

MVCにはViewModelという概念もあります。これは、特定のViewでレンダリングするために必要なすべての情報を含むように設計されたモデルのアイテムを表しています。詳細はhereを参照してください。