@nik25

Как написать логику работы контролеров в Asp. net?

Проблема такая, не могу понять как организовать логику работы контролеров в приложении. Хочу написать простое приложение для магазина книг с реализацией CRUD операций. Искал информацию, и все пишут по разному:
Кто то пишет: контроллеры должны использовать сервисы, сервисы должны через репозитории получать данные из бд и т. д
Кто то пишет: что репозитории уже ни кто не использует и можно сразу из контроллера обращаться к бд
Помогите пожалуйста, как разобраться во всем этом, просто не понимаю за что браться. Совсем новичок в этом.
  • Вопрос задан
  • 128 просмотров
Решения вопроса 2
@Voland69
Делать или нет репо для БД - вкусовщина, как по мне.
EF датаконекст примерно и есть анемичный репозиторий.

Сервисы делать обязательно, и причина банальна - завтра придут к вам и попросят не MVC контроллер, а web api, soap, rabbit, graphql с gRPC и прочие интересные вещи для интеграции с другими системами (CRM, CMS, мобильное приложение и проч).
И вы будете разлеплять логику коммуникации и бизнеса.

Так что в контроллере не должно быть бизнесовой логики, только предоставление нужных данных вьюхе и получение от нее команд.
Ответ написан
vabka
@vabka Куратор тега C#
Токсичный шарпист
Сделай пока хоть как-то, лишь бы тебе самому было понятно.

Потом порефакторишь исходя из задачи.

Например репозитории имеют смысл, если у тебя возможно, ть заменить хранилище данных - это фича.
А вот если ты никогда не планируешь менять базу данных - можно спокойно хоть прямо из контроллеров в EF стучаться.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Senior .NET developer
можно вот так
https://github.com/vkorotenko/StuffTest
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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