Я сделал несколько проектов в ASP.NET MVC, и есть тема, которую я нигде не видел. Я хотел узнать мнение других людей по этому поводу.
Каковы некоторые рекомендации по проектированию моделей? В прошлом я использовал два подхода: должны ли модели представлять разные сущности, или у вас должны быть модели, специфичные для домена (для конкретного домена? Для конкретного вида?)? Различие состоит в том, что модели, представляющие отдельные сущности, используются в более чем одном представлении, где модели, специфичные для предметной области, связаны с конкретными представлениями.
Обратите внимание на следующее: в моем приложении есть сущность User. Должен ли я иметь одну UserModel, которую я использую в представлении «Регистр», представлении «Показать», представлении «Индекс» и т. Д., Или было бы предпочтительным иметь RegisterUserModel, ShowUserModel, ListUserModel и т. Д .?
Я использовал оба шаблона раньше. Преимущество моделей, специфичных для предметной области, заключается в том, что любая логика проверки, применяемая с помощью атрибутов, может отличаться в представлениях. Обратной стороной является то, что вы нарушаете DRY, и ваши модели становятся довольно волосатыми, даже если вы разделяете их на пространства имен. И наоборот, использование единого шаблона модель-сущность приводит к чрезмерно общим данным проверки (обычно в отношении сообщений об ошибках), но у вас есть хороший, плотный уровень модели, и преобразование между моделями и объектами намного проще (меньше кода).
Какой подход предпочитает ТАК? Или есть подход, который я даже не рассматриваю?