Понимая, что это может быть субъективным на основе проекта, я ищу метод "лучшей практики" для структурирования решения VS (Visual Studio).
Пожалуйста, не стесняйтесь редактировать это, комментировать то, что, по вашему мнению, может быть неправильным, предлагать альтернативы и т.д. Мне бы очень хотелось, чтобы этот Community Wiki превратился в отличный ресурс для людей, начиная с VS Solutions.
Ниже я сейчас работаю для меня (в моем текущем проекте), однако я знаю, что есть кое-что в неправильном месте. В моем сценарии я создаю веб-приложение, используя MVC 2
Пожалуйста, разместите свое представление о структуре окончательного решения, чтобы мы могли получить представление о "наилучшем способе" / "лучшей практике" (что бы это ни говорило)
IE:
Как вы разбиваете свой DAL (Data-Access-Layer)/BLL (Business-Logic-Layer)?
Вы помещаете свой слой репозитория и уровень обслуживания внутри своего BLL?
Если вы используете MVC (Model-View-Controller), сохраняете ли вы свои контроллеры в пользовательском интерфейсе вместо Core?
Вы бросаете много вещей в свои папки "Утилита/Разное", или вы можете разбить его еще дальше?
и т.д...
- MySolution
- MySolution.Core
- Аутентификация
- вот где у меня есть POCO и метод для апробации poco в секцию userData файла cookie auth.
- Base
- здесь я держу свой BaseController и BaseGlobal
- Контроллеры
- все мои контроллеры (очевидно)
- Домен
- DatabaseModels
- содержит файл L2S.dbml
- JsonModels
- модели, используемые для передачи объектов JSON в veiw
- Хранилища
- Услуги
- ViewModels
- Расширения
- все методы расширения
- Фильтры
- Фильтры действий
- Утилиты
- Apis
- здесь используется весь код API сторонних разработчиков.
- Значки
- расчет значков идет здесь.
- MailClient
- отправьте обычный текст или html-адрес электронной почты, используя классы здесь
- RoutingHelpers
- содержит класс для включения строчных маршрутов
- также содержит вещи, которые я не знаю, куда еще положить... IE: HTMLSanitizer, пользовательский HtmlHelpers, помощник UserInfo (IP-адрес, браузер и т.д.), DataConverter и т.д.
- MySolution.UI
- App_Browsers
- Активы
- Css
- Изображения
- Скрипты
- Виды
- Global.asax - наследует от BaseGlobal
- Web.config
Экранные снимки
Пожалуйста, не стесняйтесь комментировать соответственно, или еще лучше, разместите свою собственную версию (ответ) ниже. Я знаю, что у меня есть не лучший способ.