나는 예를 들어 간단한 WPF 응용 프로그램을 작성 :ASP.NET MVC3 앱에서 대부분의 코드를 사용할 수 있습니까?
모델 :
public class User
{
public String FirstName { get; set; }
public String LastName { get; set; }
}
의 ViewModel : 내가 MVC3 응용 프로그램에서 내 코드
//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); }
}
}
다시 사용할 수 있습니까? 나는 INotifyPropertyChanged가 작동하지 않을 것이라고 생각하지만 여전히 ViewModel을 어떻게 든 재사용 할 수는 없습니까?
휴식을 유발할 수있는 사례를 제시 할 수 있습니까 (중복 된 코드 일뿐입니다). – michael
@michael : 컨트롤러는 여러 MVC 관련 속성으로 꾸며져 있습니다. 이를 위해서는 전체 프레임 워크를 대상으로해야합니다. 클라이언트 프레임 워크를 대상으로 MVVM 응용 프로그램을 만들 수 있습니다. 비밀은 "중복 코드"를 별도의 어셈블리로 짜내서 VM과 컨트롤러에서 참조하는 것입니다. 또한, 둘 다 사용할 수있는 단일 클래스를 작성하는 것이 미래의 삶을 편하게 만들지는 못합니다. 스레딩을 고려하지 않더라도 유지 관리 문제가 발생할 것입니다 (***해야합니다 ***). – Will