Я родом из стороны WPF мира, и я привык использовать шаблон MVVM совсем немного. Я пытаюсь изучить MVC, и у меня есть немного сложности, пытаясь понять, где мои границы находятся в MVC. Вот мой сценарий:
У меня есть 3 объекта: родитель, ребенок и GrandChild. Это пользовательские объекты, не использующие встроенные модели из MVC. Я хорошо разбираюсь в проверке. У меня есть хорошая ручка о том, как получить и заполнить мои объекты. Но я изо всех сил пытаюсь найти лучшие практики в отношении того, что делать с контроллерами. За что должен отвечать мой диспетчер? Например, должен ли я иметь один контроллер, который понимает, как CRUD Parent, Child и GrandChild? Или они должны быть разделены? Если они должны быть разделены, как мне это сделать, если, когда я смотрю на родителя, я хочу увидеть список детей.
Контроллер используется только для управления потоком потока запроса-ответа. Итак, в вашем примере контроллер никогда не должен знать, как их использовать. Логика CRUD должна быть обернута в класс репозитория модели.
Взгляните на официальный пример Nerd Dinner, и я лично лично люблю эту часть.
Приложение Nerd Dinner - это простой пример. Я согласен с нажатием CRUD в репозиторий и, в общем, с использованием контроллера только для потока управления.
Однако, по моему опыту с ASP.NET MVC (правильным или неправильным), контроллер заканчивает работу с большим количеством переупорядочения данных перед передачей в представление и наоборот, когда принимает объектную модель как данные из форма сообщение. Но опять же, он просто делает перевод между тем, что нужно View, и тем, что требуется модели.