Где я должен поместить свои asp.net-mvc строго типизированные viewdata? - PullRequest
6 голосов
/ 05 марта 2009

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

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

Ответы [ 4 ]

3 голосов
/ 05 марта 2009

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

0 голосов
/ 05 марта 2009

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

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

  • DomainName

         Controllers
         Model
         Services
    
0 голосов
/ 05 марта 2009

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

0 голосов
/ 05 марта 2009

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

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

...