Просто дайте мне 2 пенса здесь, так как это действительно основано на мнении!
С точки зрения бэкэнда, вам решать, что бы вы ни чувствовали себя более комфортно - но я бы внимательно следил заАрхитектура бэкэнд-системы, которую вы строите.
Мой выбор будет заключаться в создании архитектуры на основе микросервисов, в которой вы создаете простые атомарные сервисы, которые работают только в пределах своего домена.Например, вы можете создать «Общие сервисы» - сервисы, которые могут использоваться в качестве зависимостей другими сервисами (событиями, шифрованием, документами и т. Д.), А затем создать атомарные сервисы, которые связаны с аспектом вашего приложения, таким как Сервис пользователя, Сервис оплаты.Служба продукта, Служба корзины и т. Д.
Идея проста - создать простые управляемые данными службы CRUD, которые являются модульными, атомарными и могут использоваться повторно.Я обнаружил, что изучение новых технологий - это замечательно, но понимание и изучение хорошей архитектуры программирования еще более полезно.Вы можете структурировать данные, чтобы сделать их наиболее эффективными для вас.
После того, как вы создали сервис, вы можете использовать такие сервисы, как Swagger UI, для автоматизации документации и создания для них комплектов тестирования.Если вы не использовали Swagger, я рекомендую его вам.
Проведите тестирование для каждого сервиса и пройдите весь жизненный цикл разработки программного обеспечения.Это действительно далеко пойдет в вашем портфолио.
Вот несколько статей, касающихся построения микросервисов в ASP.NET Core
https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/multi-container-microservice-net-applications/data-driven-crud-microservice
Swagger
https://swagger.io/
Как примечание, я не развиваю ни в ASP, ни в каком-либо другом стеке Microsoft - но принцип тот же
ОБНОВЛЕНИЕ
Проблема создания монолитных приложений заключается в том, что база кода может становиться все более сложной и огромной по мере роста вашего приложения.Некоторые преимущества Micorservices:
- Масштабируемость
- Изоляция ошибок
- Устраняет долгосрочную приверженность единому технологическому стеку
- Легче для разработчиков:понять (и документ)
Мой тип установки будет использовать Spring Boot (Java) и Eureka Server - но вы в MS Stack, но ссылка, которую я дал вам выше, показываеткак создать базовый микросервис CRUD с Net Core.Я хотел бы попробовать и посмотреть, как это происходит, затем вы можете перейти на CI / CD для Azure!
Переходя от простого CRUD API, вы можете вводить WS-соединения с обновлениями, управляемыми событиями (серверклиенту), а не запрашивать новые данные.
Архитектор, с которым я когда-то работал (гениальный парень), сказал мне никогда не слишком полагаться на «Framework» - они классные, когда у них все хорошо, но отличное приложение должно быть гибким для измененияпоэтому я бы не стал слишком полагаться на «рамки», но это было только его мнение.