0

1 つのビュー モデル インスタンスを複数のビューで共有することについて、人々はどのような考えを持っているのでしょうか?

これはアンチパターンですか、それとも受け入れられている慣行ですか? 長所と短所は何ですか?

4

1 に答える 1

0

ただ私の経験から

主な欠点は、ビューの表示内容が異なる場合、将来のリファクタリング作業になる可能性があります。ビューを共有することを決定するときは、これがどの程度の可能性があるかを考える必要があります。

ビューモデルの命名にも注意してください。たとえば、Book/Edit.aspx および Book/Add.aspx ビューがある場合、Book/Edit.aspx で AddBookViewModel.cs を使用したくないでしょう。これにより、たとえば、テストで紛らわしいコードが作成される可能性があります。

上記の例では、通常、CreateEditBookViewModel.cs を使用します。

SharpArchitecture (www.sharparchitecture.net/) のようなものを見ると、彼らは足場でこのアプローチを使用していると思います。また、パーシャルを介して共有ビューモデルを使用してビューの要素を共有しています。

それがアンチパターンであるという点では、ノーと言えます。健全なコードの再利用です。

于 2011-03-29T16:33:41.873 に答える