2

WPF の MVVM パターンを知っている場合は、Josh smith msdn の記事で CustomerViewModel が次のような単純なプロパティを保持していないことを知っています。

public string FirstName {get;set;}

むしろ、ViewModel はモデルをラップし、次のようにプロパティ アクセスを委任します。

public string FirstName
{
    get { return _customer.FirstName; }
    set
    {
        if (value == _customer.FirstName)
            return;
        _customer.FirstName = value;
        base.OnPropertyChanged("FirstName");
    }
}

これはasp.net mvcで見たことがありません。これは INotifyPropertyChanged インターフェイスがないためですか?

4

2 に答える 2

2

私はasp.net mvcでこれを見たことがない

それは正常です。あなたはそれを見るべきではありません。MVC は MVVM とは異なるパターンです。MVC では、ビューには変更を通知する人がいません。MVVM パターンは、Web のステートレスな性質に適応していません。

于 2012-06-26T18:24:52.917 に答える
2

MVVMのViewModelModelの部分は、MVC で使用される場合とは異なる定義を持っています。

MVVM では、ViewModelはアプリケーションであり、 はViewユーザー フレンドリーなインターフェイスを提供するだけです。MVC では、Viewはアプリケーションであり、 はアプリケーションにViewModelデータを提供し、Controllerはアプリケーション フローとロジックを処理します。

モデルも2つのパターンで異なります。MVC では、Mはデータ モデルとビュー モデルの両方を表しますが、MVVM ではMはデータ モデルのみを表します。

要約すると、MVCM+Cは MVVM と同等VMであり、MVCには MVVMと部分Mの両方が混在しています。MVM

補足として、INotifyPropertyChangedインターフェイスは、プロパティが変更されたときに UI を自動的に更新するために WPF によって使用されます。この種のものは MVC では使用されないため、必要ありません。

于 2012-06-26T18:35:39.353 に答える