Впервые в wpf и MVVM. Я в некотором замешательстве, что к чему относится.
Предположим, у нас есть представление с btnSave.
При сохранении кто несет ответственность за вызов бизнес-уровня?
Насколько я понимаю, модель просто содержит свойства, а не методы
ViewModel фактически реализует EG "DelegateCommand SaveCommand" и поэтому вызывает бизнес-уровень.
Однако мне сказали, что на самом деле ответственность за модель заключается в том, чтобы назвать бизнес-уровень.
пример взят с Джоша Смита на MSDN
Извлечение оттуда
public ICommand SaveCommand
{
get
{
if (_saveCommand == null)
{
_saveCommand = new RelayCommand(param => Save(),param => CanSave);
}
return _saveCommand;
}
}
/// <summary>
/// Saves the customer to the repository. This method is invoked by the SaveCommand.
/// </summary>
private void Save()
{
if (!_customer.IsValid)
throw new InvalidOperationException(Strings.CustomerViewModel_Exception_CannotSave);
if (this.IsNewCustomer)
_customerRepository.AddCustomer(_customer);
base.OnPropertyChanged("DisplayName");
}
Ваше мнение очень ценится.