NikFaraday
@NikFaraday
Student-Developer front/back-end

Как создать правильную иерархию в asp.NET Core MVC?

Здравствуйте

Начал изучать asp.NET Core и сейчас "натягиваю" Bootstrap шаблон и я не знаю как правильно сделать иерархию файлов.
По идеи как на то и есть архитектурный паттерн MVC для того, что бы всё было по папочкам.

В шаблоне все .html страницы накинуты друг на друге и нет чёткой иерархи, по какому принципу нужно те же файлы кидать в рамках MVC проекта?
  • Вопрос задан
  • 106 просмотров
Решения вопроса 2
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Если я ничего не путаю, то при создании проекта по шаблону у вас уже есть размеченная иерархия. Есть папка "Scripts" для скриптов, папка "Content" для хранения стилей. MVC - это совсем не про то, где и как хранить файлы. MVC - это про то, что все объекты и классы вы храните отдельно (по умолчанию папка "Models"), то, что вы хотите показать пользователю вы пишите также отдельно во View, а то, как View взаимодействует с вашими классами (логику) вы уже прописываете в контроллерах (Controllers).
Ответ написан
PinoyExplorer
@PinoyExplorer
Software Developer
В шаблоне MVC ASP.Core уже задана иерарихия файлов, если мы имеем в виду самые начальные настройки, то там уже создана папка wwwroot, c подпапками для статических файлов и т.д. Созданы такж папки по умолчанию, для Контроллеров, для Представлений, в папке Shared уже добавлены частичные представления... и так далее...
Вот здесь, https://youtu.be/RGqg8ltFSUw подробно разбирается создание интернет магазина на MVC АSP.NET Core для NET 5, включая подробные объяснения о структуре папок и файлов в проекте.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
Какого-то единого подхода нет, так что расскажу, как делаю я (но не в MVC проектах)

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

В aspnet проекте иерархию уже выстраиваю от путей запросов.
Тоесть если у меня будет эндпоинт GET /api/v1/orders, то и лежать он будет в папке api/v1/

В MVC будет аналогично, только добавятся ещё razor файлы и css
css лучше держать рядом с шаблонами, в которых они используются
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы