2011-08-10 13 views
0

はここにチュートリアルを通って行く:http://www.asp.net/mvc/tutorials/iteration-4-make-the-application-loosely-coupled-csのViewModelとModel - アドバイス

私は、彼らは、コントローラからサービス層にEF生成したエンティティを渡していることに気付きました。彼らは代わりにviewmodelを渡してから、サービス層でマッピングを行うのか、それとも正しいことですか?

サービスモデルから永続化レイヤーに渡される実際のドメインモデルへのビューモデルの変換を理解しようとしています。

ありがとうございます。

答えて

1

一般的なルールは、下位層が上位レベルについての知識がないことです。 viewmodelへとからEFモデルからのマッピング:

このことに加え

+0

(それらはユーザインターフェイス層における実装の詳細であるので)、サービスレイヤは、ビューモデルの知識を持つべきではないことを意味しますEFモデルへのviewmodelはUIレイヤーで行う必要があります。 – nickvane

+0

http://en.wikipedia.org/wiki/Law_of_Demeterを参照してください。ValueInjectorを使用すると、UI、ドメイン、EFオブジェクト間で手作業でコードを割り当てる必要がなくなります。 EFオブジェクトは、リポジトリに隠れたままにして、ドメインオブジェクトに注入することができます。 UI固有のオブジェクトを作成し、V&VMとValueInject間でアプリケーションにバインドすることはできますが、LoDを緩めてドメインオブジェクトをVMにリークさせ、別個のUIオブジェクトのメンテナンスを保存することも考えられます。恐怖! – FastAl

関連する問題