ฉันกำลังพิจารณาการเปลี่ยนแบบฟอร์ม WPF (mvvm) เป็น asp.net (MVC) ฉันคิดว่ามันอาจจะมีประโยชน์สำหรับความมีสติในการเปรียบเทียบ asp.net(MVC) และ WPF(MVVM)
MVC ที่เทียบเท่ากับตัวอย่าง WPF ต่อไปนี้จะมีลักษณะอย่างไร โดยเจาะจง ฉันสงสัยว่าจะรักษาการแยก UI และตรรกะของแอปพลิเคชันอย่างไร และอาจสำคัญกว่านั้น หากมีการเชื่อมโยงข้อมูลที่เทียบเท่ากัน รูปแบบการออกแบบทั้งสองที่แตกต่างกันจะบรรลุผลสำเร็จในสถานการณ์เดียวกันได้อย่างไร
มุมมองโมเดล
ในโมเดลมุมมองของคุณ คุณจะมีคลาสที่ส่วนประกอบในมุมมองจะเชื่อมโยงด้วย บางสิ่งบางอย่างตาม:
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");}
}
}
}
โดยที่ BaseViewModel อยู่ที่ไหน:
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>