0

MVVM パターンに関するいくつかの記事とチュートリアルを読みましたが、明確な情報を見つけることができなかったことが 1 つあります。次の例を見てみましょう。

モデルには 2 つのフィールドとプロパティが含まれています。

private string username;
public string Username {
  get; set;
}

private string password;
public string Password {
  get; set;
}

では、ビュー モデルには何を含める必要がありますか? モデルのインスタンスのみを含める必要がありますか、それともモデルのプロパティを「再公開」する必要がありますか?

private Model _model;
public Model Model {
  get; set;
}

または...

private Model _model;
public Model Model {
  get; set;
}

public Username {
  get { return _model.Username; }
  set { _model.Username = value; }
}

いくつかの記事で両方の亜種を見てきましたが、今ではどちらが正しいのかわかりません。

4

1 に答える 1

1

この質問に対する一般的な正解または不正解はありません。それは文脈と個人的な好みに依存します。

私は個人的に、モデルをビューに直接公開しない傾向があります。ビューに合わせて特別に調整されたViewModelが必要です。ビューが必要としているという理由だけでモデルに何も実装したくありません(モデルがビューに公開されているときに実装したくなるかもしれません)。

私のViewModelでは、モデルへの依存関係をできるだけ少なくしたいと思っています。それを回避できるのであれば、モデルに直接依存しないViewModelが必要です(そして、外部エンティティ/サービスフィルにマッピングを実行させます)。

于 2012-11-19T08:47:43.580 に答える