c # MVC - структура папок - куда поместить классы?
-
07-07-2019 - |
Вопрос
В asp / net MVC проект разделен на Модели, представления и контроллеры.Пока все в порядке.
Допустим, у меня есть класс 'person', который контроллер people заполняет данными, используя модель person .
Где лучше всего разместить мой класс person.cs?В папке controllers или models?Чем ты занимаешься?
Спасибо
Фрэнк
Решение
Я хотел бы создать еще один проект библиотеки классов в решение, определить свои классы и затем ссылаться на мою библиотеку в моем приложении ASP.NET в MVC.
WebApp Solution |-MyMVCProject |-Models |-Controllers |-Views |-MyMVCProject.Domain (you'd put your models here) |-Person.cs |-MyMVCProject.Services (you'd put entity services here)
Другие советы
Я бы счел Person моделью и поместил его в папку Models.Здесь я храню свои модели просмотра.Бизнес-модели обычно хранятся в отдельном проекте данных - мне нравится, чтобы мой уровень данных был автономным, чтобы я мог использовать его в других проектах, если захочу.Возможно, вы захотите рассмотреть возможность создания отдельных библиотек классов для других типов классов - методов расширения, помощников и т.д.которые не вписываются в категорию контроллеров или моделей.
В настоящее время, работая над довольно крупным проектом, я разделил свои классы на различные проекты библиотеки классов, которые называются Repository (для интерфейсов доступа к данным и классов бизнес-данных), Utils (для служебных классов) и DataAccess (реализации интерфейсов репозитория).Под ними я разделяю их на подкаталоги (или я должен сказать пространства имен), а затем использую Resharper для принудительного применения этих пространств имен.