Куда я должен поместить свои строго типизированные viewdata asp.net-mvc?

StackOverflow https://stackoverflow.com/questions/612564

Вопрос

Я вложил свои классы viewdata в свои контроллеры, и по мере того, как их число растет, я начинаю спрашивать себя, хорошая ли это идея.С другой стороны, что-то о загрязнении каталогов /Views и /Controllers этими вещами кажется неправильным.

Есть ли какое-то соглашение, которого мне здесь не хватает?Может быть, каталог /ViewData?idk, какие есть хорошие места для моих классов viewdata?

Это было полезно?

Решение

Я сделал именно то, что вы предлагаете, мои строго типизированные viewdata живут в / ViewData. Я думал о том, чтобы поместить его в каталог \ Model, но мне не нравятся мои проекты, имеющие слишком много вложенных каталогов. \ ViewData - это то, что делает Кигг .

Другие советы

Я не знаю конвенции. Я просто поместил свой в /Model/ViewModel/BlahViewModel.cs и т. Д. Я бы не стал помещать их в отдельный проект, пока в этом нет особой необходимости. Это не будет трудно переместить их позже, если это необходимо.

Я поместил свои классы данных представления в проект, посвященный именно этому. Они DTO, и включение их в собственный проект гарантирует, что они не зависят ни от чего выше в архитектурных слоях.

Использование их в качестве DTO для доставки в представления - это только один из способов их использования. Я мог бы отправить их по проводам через какое-то время, внутри сообщения на служебной шине или чем-то еще.

поскольку вы используете MVC, а структура папок должна представлять структуру пространства имен вашего кода, я бы рекомендовал для каждого из ваших объектных доменов сгруппировать ваши контроллеры, модели и службы в отдельные папки

мы бы использовали

  • Доменное имя

         Controllers
         Model
         Services
    
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top