Подскажите, пожалуйста, правильный подход к оформлению логики приложения, взаимодействующего с базой данных c# wpf mvvm
посоветуйте, пожалуйста, как правильнее действовать. Пишу программу с иcпользованием WPF и MVVM, которая взаимодействует с базой данных. Действия стандартные: добавление, редактирование, удаление, отображение списка.
Вопрос 1. Что правильнее, создать отдельное окно для редактирования, отдельное для создания элемента или одно общее окно для добавления и редактирования функционал которого будет меняться в зависимости от того какую команду выбрал пользователь и от ее параметров.
Вопрос 2. То же самое с методами в Model, что правильнее, создать единый метод например AddEditDeleteUser который все будет делать в зависимости от параметров или для каждого действия свой метод (AddUser(), EditUser(), DeleteUser())
Вопрос 3. В Model есть классы сущности, например, User.cs и т.п. где лучше хранить логику работы с данными (add,edit, delete, select, filter) в самом классе сущности или сделать общий класс, например Dataworker.cs
Вопрос 4. То же самое с ViewModel лучше делать отдельный класс UserVM.cs или в общем ИмяПроектаVM.cs для хранения команд, свойств зависимостей и т.п.
Ответы (1 шт):
В силу своих знаний:
- Как вам будет удобно. В принципе можно всё и в 1 окно поместить (пример https://metanit.com/sharp/wpf/22.4.php).
- Для каждого действия свой метод.
- Конечно создать класс для работы с данными. Не писать эту работу внутри класса сущности.
- Отдельный класс ViewModel стоит делать на каждую твою View, а не на класс сущности.