Микросервисы: Nimble Framework v.1 (часть 2)
Channel: Sergei Calabonga
Date: 14/03/2020

Ключевые моменты: #микросервисы #microservices #архитектура #architecture #шаблон #template #lan #глобальная_сеть #модули #решение #solution 

Шаблон для построения микросервисной архитектуры на платформе ASP.NET Core

Микросервисная архитектура — вариант сервис-ориентированной архитектуры (SOA) программного обеспечения, ориентированный на взаимодействие насколько это возможно небольших, слабо связанных и легко изменяемых модулей — микросервисов

В микросервисной архитектуре системы выстраиваются из компонентов, выполняющих относительно элементарные функции, и взаимодействующие с использованием экономичных сетевых коммуникационных протоколов в стиле REST с использованием, например, JSON.
* REST (сокращение от англ. Representational State Transfer — «передача состояния представления») — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.
* JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript.

[00:10] Установка шаблонов (обновление)
[04:08] Создание новой сущности
[06:13] CRUD (вариант с ReadonlyController и WritableController)
[29:10] CRUD (Queries и Handlers)

Что в шаблоне: 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/

Можно установить через extensions в Visual Studio. https://marketplace.visualstudio.com/items?itemName=Calabonga.microserivce-templates

Благодарности и помощь каналу принимаются:
https://www.calabonga.net/site/thanks