我寫了一個簡單的WPF應用程序爲例:我可以在ASP.NET MVC3應用程序中使用我的大部分代碼嗎?
型號:
public class User
{
public String FirstName { get; set; }
public String LastName { get; set; }
}
視圖模型:
//ViewModelBase contains base code for INotifyPropertyChanged
public class UserViewModel : ViewModelBase
{
public UserViewModel(User user)
{
_user = user ?? new User();
}
private User _user;
public String FirstName
{
get { return _user.FirstName; }
set
{
if (_user.FirstName != value)
{
_user.FirstName = value;
RaisePropertyChanged("FirstName", "Full Name");
}
}
}
public String LastName
{
get { return _user.LastName; }
set
{
if (_user.LastName!= value)
{
_user.LastName= value;
RaisePropertyChanged("LastName", "Full Name");
}
}
}
public String FullName
{
get { return String.Format("{0}, {1}", LastName, FirstName); }
}
}
我可以重用我在MVC3應用程序代碼?我認爲INotifyPropertyChanged的東西不起作用,但是我仍然不能重複使用ViewModel?
你能舉一個例子來說明會導致休息的原因嗎? – michael
@michael:控制器裝飾了許多MVC特有的屬性。這要求您定位整個框架。可以創建一個MVVM應用程序來定位客戶端框架。祕訣是你將這個「冗餘代碼」擠出到一個單獨的程序集中,並從你的VM和控制器中引用它。而且,編寫一個可用於兩者的單一課程將不會讓您的生活在未來更輕鬆。即使你不考慮線程,你也會遇到維護問題(***你應該***)。 – Will