Моя концепция MVVM в WPF заключается в том, что у нас есть ViewModel для каждой модели в вашем приложении. Это означает, что если у нас есть класс Customer (entity), мы получим CustomerViewModel. CustomerViewModel будет иметь все свойства, необходимые для представления клиента. Пользователь Customercontrol CustomerView будет отвечать за создание пользовательского интерфейса для модели Customer.MVVM WPM ViewModels для добавления нового объекта
Теперь предположим, что мы добавляем нового клиента. Итак, у нас есть форма, которая состоит из FirstName, LastName и т. Д. Нужен ли нам ViewModel для этого сценария. Я имею в виду все, что мне нужно сделать, это взять все входные значения из TextBox и создать объект Customer, а затем сохранить его в базе данных. Почему я должен беспокоиться о создании ViewModel для этого сценария?
Итак, как бы вы представляли ViewModel для добавления клиента? И с какой целью будет работать ViewModel, с тех пор будет передаваться значение бизнес-классу, который будет использоваться службой/репозиторием для его сохранения в базе данных. – azamsharp
Представьте себе, что в приложении есть вкладка «AddCustomer». Эта вкладка может иметь поля текстового поля для имени, адреса, номеров учетных записей и т. Д. Тогда, например, вы можете иметь AddCustomerViewModel, который имеет команду «SendToRepository». Некоторые из причин наличия этой промежуточной виртуальной машины: 1) разделение графического интерфейса от логики приложения - делает возможным удобство проверки логики приложения, а также возможность сменить уровень пользовательского интерфейса без особых усилий. 2) ViewModel часто используется для адаптации данных между пользовательским интерфейсом и бизнес-уровнями, упрощая код (например,требуется меньше конвертеров) и т. д. –
continue: 3) часто привязка данных между View и ViewModel создает более чистый код и, самое главное, код, который ведет себя лучше, если логика приложения меняет ViewModels и не пытается напрямую манипулировать представлением и его ресурсами. –