Skip to content
Calabonga edited this page Jan 4, 2020 · 50 revisions

Текущая версия Nimble: 1.0.1.

Версии шаблонов

Версии шаблонов для ASP.NET Core 2.2 и ASP.NET Core 3.0 не имеет никаких принципиальных отличий. Документация для 2.2 абсолютно совпадает для 3.0.

Изменения в шаблонах

Описание

Предназначение: Позволяет упростить создание микросервисов или backend-сервера для SPA на базе ASP.NET Core.

image

Nimble Framework появился в виду того, что частое создание микросервисов занимает много времени. Особенно, когда эти микросервисы объединены в одну архитектуру и поэтому должны быть связаны между собой. Для облегчения задачи "введение нового сервиса в систему" и были придуманы шаблоны для их создания.

Nimble Framework представляет собой набор из двух шаблонов для Visual Studio для создания проектов ASP.NET Core.

Nimble Framework - это набор шаблонов для построения микросервисной архитектуры на платформе ASP.NET Core. На данный момент существуют версии для ASP.NET Core 2.2 и ASP.NET Core 3.0.

Nimble Framework (далее Nimble) позволяет создавать из шаблонов готовые к использованию приложения API для дальнейшего использования либо как самостоятельный backend для Single Page Application (SPA), либо как часть микросервисной архитектуры. Следует иметь в виду, что это созданный из шаблона сервис является хорошей отправной точкой для программирования сервисов. В него заложены базовые функции и возможности. Код всё равно придется писать! :)

Типы шаблонов

На данный момент есть два типа шаблонов. Возможно количество шаблонов в будующей увеличится.

Установка

Установка шаблонов очень проста. В планах сделать VSIX-расширение для Visual Studio, чтобы установка не только упростилась, но и появилась возможность автоматически обновлять плагин при появлении новых версий.

Создание сервисов

При наличии двух шаблонов, как вы понимаете, из них можно создать только два типа сервиса. Микросервис с сервером авторизации (IdentityServer4) и без него. Процесс создания очень похож, поэтом я опишу для сервиса с IdentityServer4, как более продвинутого типа микросервиса. Пошаговая инструкция

Проекты в шаблонах

Все шаблоны пока состоят и четырех проектов. Полезно ознакомиться с их предназначением до того как создавать микросервисы из шаблонов.

Папки и файлы

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

Наполнение данными

Перед тем как создавать проект, можно в специальном методе прописать данные, которые должны появиться в системе сразу при первом старте. Такие данные нужно заполнить в методе Seed. Примером таких данных может послужить данные о пользователе, который является администратором системы. И который в последствии сможет раздать права доступа другим пользователям.

Startup файл

Файл Setup.cs является отправной точкой при запуске приложения. В нем происходит настройка системы и платформы для корректной работы.

Engine папка

В папке Engine, по большому счету, и находится фреймворк Nimble. Всё остальное - антураж!

Swagger как UI

И в версии для 2.2 и для версии 3.0 в шаблонах используется очень полезный инструмент - Swagger.

Logo

Automapper

Для маппинга используется фреймворк AutoMapper.

Настройки приложения

У каждого приложение есть настройки. В Nimble есть файл CurrentAppSettings, который может быть сериализован в JSON, и вливаться как зависимость при помощи IOptions<T>.

Контроллеры и методы

Понимание как работают контроллеры и их методы дает свободу по управлению разработкой. Стань свободным!

Управление правами и доступов

Аутентификация и авторизация построена на базе IdentityServer4.

Пример использования

Пример создание сущности Product покажет основные моменты разработки и проектированию.

Clone this wiki locally