質問: new Model(); } private Model _model; public Model Model { get{return this._model;} } } ``` こうすることで、ViewからModel.[Modelのプロパティ名]とすることで同期することが出来ると思います。 しかし、MVVMについて調べているとViewModelはModelのプロパティをひとつずつラップしていくような作りでないとMVVMとは言えないという旨の情報をあちこちで見かけます。それはなぜなのでしょうか? 具体的にはLivetの作者さんの資料を読みましたが(リンクは避けます)、私の理解力が足らず、このパターンが良くない理由が分かりませんでした。 ご教授願います。
回答: シンプルに、それだと、VM と M の責務の分離ができていない 表示用に必要なものを追加できない VMは、本当に、表示用。 C#のpublicが フィールがいいのか、プロパティがいいのか、という議論と同じように、 直接だと、モデルの変更は、どこから変更されたのかが、追うのが難しくなります。 モデルとそのまま表示するくらいの用途なら、わざわざやらなくてもいいことではありますが。