Я подхожу к концу моего первого проекта MVC, и я не слишком доволен тем, как я создал свои объекты Model, и я ищу некоторые идеи о том, как их улучшить.
Я использую репозитории для каждой таблицы БД с методами Get, Save, Delete и т. Д.
Репозитории используют Linq2Sql для доступа к БД.
Я сопоставляю объекты Linq2Sql с объектами модели MVC, в основном это сопоставления от 1 до 1.
Моя проблема в том, что я не думаю, что мои объекты модели MVC были достаточно детальными, и я, вероятно, передаю больше данных назад и вперед, чем необходимо.
Например, у меня есть таблица пользователей. Администратор может редактировать сведения о пользователе так же, как и сам пользователь, поэтому я считаю, что у меня действительно должны быть объекты «AdminUserModel» и «UserModel», где «AdminUserModel» имеет больший набор значений (например, IsEnabled).
Таким образом, мой более важный вопрос заключается в том, какую архитектуру люди используют в дикой природе, чтобы отобразить много похожих связанных объектов Model вниз через слои в БД?
Какие-нибудь примеры архитектурных решений, которые кто-либо может предложить помимо NerdDinner?
спасибо заранее!