-1

いいえ、これは重複ではありません!

In MVVM viewModel a PersonViewModel wraps a Person model.
In MVC  viewModel a PersonViewModel does/should not wrap a Person.

代わりにAutomapperが使用され、それ以外の場合はハイブリッドPersonViewModelになります。

つまり、SOのMVCアルファオタク

ビューモデルがモデルをラップすることがMVCに許可されていない/望まれていない理由は何ですか?

私の質問の文脈はこれです:

モデルをビューモデル内にラップしない場合は、すべてのモデルプロパティをコントローラーのビューモデルプロパティに割り当てる必要があります。それはめちゃくちゃです。次に、AutoMapperプロファイルクラスにviewModelロジックがあり、そこに属するviewmodelにviewModelロジックがあるため、一部は問題なく、一部はひどいAutoMapperを使用するように指示されます。

次に、オートマッパーとviewModelsをテストする必要があります。viewModelsのみをテストする一貫したアーキテクチャが必要ですが、モデルをラップする必要があります。

それが私の質問の原点です。

4

1 に答える 1

1

完全に許可されていますが、MVC の構造の一部ではありません。データ モデルをビュー モデルでラップし始めると、MVVM に準拠し始めます。

どのパターンを使用するかは多くの要因に依存し、多くの場合、個人的な好みに大きく依存します。したがって、あるパターンを別のパターンよりも優先して使用することは本質的に悪いことではありませんが、そうすることのポイントは、一貫したアーキテクチャを実現するために特定の一連の原則に従うことです。

于 2012-09-20T18:42:11.403 に答える