Микросервисы: Nimble Framework v.1 (часть 1)
My Frameworks | создано: 15.03.2020 | опубликовано: 15.03.2020 | обновлено: 13.01.2024 | просмотров: 430
В этом видео про: микросервис, шаблон, архитектура, CRUD, readonly, writable, проектирование, АПИ, API, backend
Описание
Ключевые моменты: #микросервисы #microservices #архитектура #architecture #шаблон #template #решение #solution #nimble #framework
Шаблон для построения микросервисной архитектуры на платформе ASP.NET Core.
Микросервисная архитектура — вариант сервис-ориентированной архитектуры (SOA) программного обеспечения, ориентированный на взаимодействие насколько это возможно небольших, слабо связанных и легко изменяемых модулей — микросервисов
В микросервисной архитектуре системы выстраиваются из компонентов, выполняющих относительно элементарные функции, и взаимодействующие с использованием экономичных сетевых коммуникационных протоколов в стиле REST с использованием, например, JSON.
* REST (сокращение от англ. Representational State Transfer — «передача состояния представления») — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.
* JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript.
Что в шаблоне: nuget-пакеты
* EntityFrameworkCore
* UnitOfWork
* JWT (Auth 2.0 Bearer)
* Swashbuckle.AspNetCore
* IdentityServer4
* AutoMapper
* MailKit
* Newtonsoft.Json
* OperationResultCore
* PagedListLiteCore
* Readonly and Writable или Mediator
CRUD 1: ReadonlyController + WritableController
https://www.nuget.org/packages/Calabonga.UnitOfWork.Controllers/
ReadonlyController
GetById
GetPaged
WritableController
PostItem
PutItem
DeleteItem
GetCreateViewModel
GetUpdateViewModel
CRUD 2: Mediator (CQRS) (Queries + Handlers)
Queries
CreateViewModelQuery
DeleteByIdQuery
GetByIdQuery
GetPagedQuery
PostItemQuery
PutItemQuery
UpdateViewModelQuery
Handlers
GetCreateViewModelHandler
DeleteByIdHandler
GetByIdHandler
GetPagedHandler
PostItemHandler
PutItemHandler
GetUpdateViewModelHandler
Ссылки:
CRUD1: https://www.nuget.org/packages/Calabonga.UnitOfWork.Controllers/
CRUD2: https://www.nuget.org/packages/Calabonga.AspNetCore.Controllers/