1

共通のプロパティを持ついくつかのビュー モデルを作成および編集しています。ビューモデルに継承を使用するのは悪いことだとオンラインで読みました。したがって、これらのタイプのビューモデルを使用しても安全かどうかを知りたいです。

public class CustomerVM
{
   public int CustomerId {get;set;}
   public string Name { get; set;}
}

public class CustomerCreateVM : CustomerVM
{
   public dictionary<string,string> ModelCustomers { get; set;}
}

public class CustomerEditVM : CustomerVM
{
   public List<Orders> OrdersList {get;set;}
}

CustomerVM はアプリケーションでは使用されず、共通のプロパティを格納するためにのみ使用されます。

4

2 に答える 2

2

引数:

「ベストプラクティス」の哲学は、ますます「ファットモデル」に向かっています。したがって、モデル駆動型の設計は貴重です。したがって、順列と抽象化を持つことが望ましい

反対意見:

モデルは実際にはビューにデータを渡すためのものであるため、単純さが最適です。これは、「コントローラーが支配するロジック」の考え方に当てはまります。

要約: 間違いなく悪ではありません。

悪くない。データ処理のために「ファット」な洗練されたモデル/「スキニー」コントローラーまたはシンプルな(より正確には複雑でない)モデルを目指すかどうかに応じて、推奨されるかどうか。

私は個人的にモデルのシンプルさを目指しています。しかし、私は反対側を評価するのに十分なだらしないコントローラーを見てきました。

于 2013-02-16T02:07:32.097 に答える
0

ことわざにあるように、「継承よりも構成を優先する」。この方法で継承を使用するよりも、CustomerVMにCustomerEditのプロパティを設定する方が適切です。あなたが投稿した単純なケースでは、それほど重要ではないと思いますが、継承の使用に慣れるとシステムが成長するにつれて、モデルが複雑になり、階層の深さが増すにつれて、物事が醜くなり始める可能性があります。

于 2013-02-17T17:57:32.053 に答える