MVC — Использовать одну модель на странице Профиля или разделить на несколько?
Добрый день.
Прошу совета.
В проекте, есть страница профиля.
На странице профиля можно просмотреть/поменять данные пользователя, такие как ФИО, дата рождения, город и прочее..
Так же на странице можно поменять настройки, такие как получать уведомления на вк, фб, емайл.
Так же на странице можно изменить пароль.
Все эти группы данных разбиты на 3 блока: информация, настройки и изменение пароля. Каждый блок это отдельная форма со своей отдельной кнопкой submit, которая обращается к отдельному методу контроллера.
В базе данных это одна сущность AspNetUser. В начале мне показалось логичней разделить одну модель на 3, для соответственно независимого изменения данных пользователя, настроек и пароля. Сделал все на отдельных страницах. Теперь думаю все объединиять на одной. Но тогда проще использовать одну модель. И соответственно одну html форму. И соответвенно один метод контроллера.
Немного запутался с созданием моделей. Подскажите как лучше подходить к созданию моделей при работе с веб-страницами, на которых предполагается разделение блоков изменения данных (напр. данные пользователя в одной форме, настройки уведомлений в другой)?
Сделал одну модель для вывода представления и несколько моделей для изменения каждого из разделов профиля. Соответственно получилось несколько методов контроллера с разными входящими моделями для изменения своего блока данных.
Как вартант модель реализует функционал одного объекта. Т.е. пользователь это объект и все операции с ним связанные логично заключить в одну модель. Или же каждой таблице в БД соответствует одна модель, содержащая весь необходимый функционал для работы с ней. А контроллер может подключать сколько угодно моделей по мере надобности. Дело вкуса.