WPF(mvvm)からasp.net(MVC)への移行を検討しています。私はそれがasp.net(MVC)とWPF(MVVM)の比較を失うことを正気のために役立つかもしれないと思った。Asp.net(MVC)とWPF(MVVM)の比較 - データバインディングは同等ですか?
次のWPFの例のMVCに相当するものは何ですか?具体的には、UIとアプリケーションロジックの分離がどのように維持されているか、おそらくより重要なのは、データバインディングに相当するものがあるかどうか不思議です。どのように2つの異なるデザインパターンが同じシナリオを達成するのでしょうか?
のViewModel
ビューモデルでは、あなたは、ビュー内のコンポーネントがあまりにもバインドするには、クラスを持っているでしょう。
BaseViewModelがあるnamespace solution.ViewModels
{
public class MainViewModel : BaseViewModel
{
private DateTime _fromDate;
public DateTime FromDate
{
get { return _fromDate; }
set { _fromDate = value; OnPropertyChanged("FromDate"); }
}
private DateTime _toDate;
public DateTime ToDate
{
get { return _toDate; }
set { _toDate = value; OnPropertyChanged("ToDate");}
}
}
}
:
public class BaseViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
ビュー
<Window .......>
<Grid>
<DatePicker SelectedDate = "{Binding ToDate}">
<DatePicker SelectedDate = "{Binding FromDate}">
</Grid>
</Window>
MVC WebアプリケーションとWPFデスクトップアプリケーションを比較することは、リンゴと車を比較するのと同じです。それを移植しようと間違ってはいけません。あなたがこれまでにやったことを忘れ、最初から始めましょう。 –
それは公正で、最終的には私が心に留めていたことです。さまざまなデザインパターンが同じ目標をどのように達成するかについての議論を開始したいと考えていました。 – LCaraway
http://knockoutjs.comをご覧になることをお勧めします。MVVMパターンを使用してJavascript UIを開発するためのフレームワークです。 –