git clone [email protected]:shengyu-kmust/SnailAspNetCoreFramework.git
git clone [email protected]:shengyu-kmust/Snail.git
cd SnailAspNetCoreFramework
dotnet build
Ниже приведена демонстрационная диаграмма, основанная на версии v1.0.
--ApplicationCore // Базовый уровень абстракции использует режим четкой архитектуры и не зависит от других уровней. Все остальные три проекта полагаются на этот тип библиотеки и отвечают за общедоступные определения интерфейсов, констант, перечислений, dtos, сущностей и т. д. .
----Const // Определение констант, таких как константы конфигурации, константы имен событий.
----Dtos // все dtos
----Сущности // Все сущности
----Enums // перечисление
----IServices //Абстрактное определение уровня сервиса
----Утилиты // Класс справки
--Инфраструктура //Уровень инфраструктуры предоставляет услуги передачи данных верхним уровням (таким как уровень обслуживания и уровень приложений).
----Data/config // Конфигурация API-интерфейса базы данныхEntityFramework
----EFValueConverter // Преобразование между типом базы данныхentityframework и типом clr, например преобразование перечисления
----Migrations //Сначала создайте каталог для миграции кодаEntityFramework.
--Service // Уровень сервиса, используемый для реализации интерфейса сервиса в ApplicationCore, основного уровня для реализации логики приложения.
----Cache // Реализация кэша, которая позже будет удалена и извлечена в проект Snail.
----Перехватчик //Перехватчик реализован по умолчанию
----BaseService.cs //Базовый класс каждой службы содержит общие методы каждой службы, например CRUD
----InitDatabaseService.cs // Отвечает за инициализацию данных базы данных
----InterceptorService.cs //Базовый класс перехватчика
--Web // Отвечает за всю связанную обработку ввода и вывода параметров интерфейса (например, проверку параметров, резервирование формата вывода и т. д.)
----AutoFacModule // конфигурация инъекции autofac
----AutoMapperProfiles // конфигурация автосопоставления
----ClientApp // Фронтенд-проект
------build // Выходной каталог, созданный в результате компиляции интерфейса.
------mock // макет внешнего интерфейса
------src // Основной код внешнего интерфейса
----CodeGenerater //Модуль T4 и связанная с ним логика для генерации кода
----ConfigureServicesExtensions // Расширения внедрения ServiceProvider, чтобы избежать записи их в файл запуска
----Контроллеры //Контроллеры
----docs // Набор документов
----Dto // Класс dto будет использоваться только на веб-слое
----Фильтр // фильтр
----Хабы // сигнализатор
----Permission //Реализация разрешений по умолчанию
----staticFile // Используется для хранения загруженных файлов
Используется DDD, но в зависимости от размера проекта необходимо применять разные технологии DDD. Вообще говоря, он делится на следующие проекты.
Управляемый доменом, если он и зависит от других уровней, это зависит от интерфейса соответствующего уровня, а не от реализации.
Используйте режимы репозитория и единицы работы, но используйте режим репозитория, который поставляется с EF.
1. git клонируйте этот проект 2. Настройте codeGenerate.json 3. Запустите этот проект и после входа в Swagger запустите интерфейс codeGenerate 4. Запустите add-migration 5. Запустите проект
Блог серии SnailAspNetCoreFramework Framework
1. Введение и общие идеи дизайна каждого проекта и каталога в рамках — среда быстрой разработки SnailAspNetCoreFramework.
2. Проверка ввода интерфейса, формат вывода и обработка исключений — дизайн серверной части среды быстрой разработки SnailAspNetCoreFramework.
3. Универсальный дизайн разрешений - серверная часть среды быстрой разработки SnailAspNetCoreFramework.
4. Как предоставить хорошие интерфейсные документы (Swagger) для внешнего интерфейса - дизайн внутренней части среды быстрой разработки SnailAspNetCoreFramework
5. Использование кэша в различных сценариях — дизайн серверной части среды быстрой разработки SnailAspNetCoreFramework.
6. Проектирование АОП на основе замка и реализация общего кэша, производительности и перехватчика журналов — серверная часть среды быстрой разработки SnailAspNetCoreFramework.
7. Введение во внедрение зависимостей – autofac – серверная часть среды быстрой разработки SnailAspNetCoreFramework
8. Зачем использовать Eventbus и как его использовать - серверная часть среды быстрой разработки SnailAspNetCoreFramework
9. Знакомство с Nlog, компонентом журнала - серверная часть среды быстрой разработки SnailAspNetCoreFramework.
10. Введение в Mediatr — серверная часть среды быстрой разработки SnailAspNetCoreFramework.
11. Универсальный дизайн CRUD для уровней контроллера, сервиса и дали — SnailAspNetCoreFramework, серверная часть среды быстрой разработки.
12. Инструмент автоматического сопоставления объектов — SnailAspNetCoreFramework, серверная часть среды быстрой разработки.
13. Как отслеживать операторы sql, генерируемые EF — серверная часть среды быстрой разработки SnailAspNetCoreFramework
14. Знакомство с несколькими методами развертывания ядра .net — серверная часть среды быстрой разработки SnailAspNetCoreFramework.
15. Сигнал связи в реальном времени — серверная часть среды быстрой разработки SnailAspNetCoreFramework.
16. Как сначала использовать код ef для непрерывной итерации версии базы данных проекта — серверная часть среды быстрой разработки SnailAspNetCoreFramework
17. Знакомство с функцией автоматической генерации кода — серверная часть среды быстрой разработки SnailAspNetCoreFramework.
18. Как следить за тем, чтобы каждая функция проекта работала нормально (HealthCheck) - серверная часть среды быстрой разработки SnailAspNetCoreFramework
19. Введение в зависание для запланированных задач — дизайн серверной части среды быстрой разработки SnailAspNetCoreFramework.
20. Общее введение во внешний интерфейс — дизайн внешнего интерфейса среды быстрой разработки SnailAspNetCoreFramework.
21. Больше не нужно просить о внутренних интерфейсах (использование MOCK) - интерфейсный дизайн среды быстрой разработки SnailAspNetCoreFramework.
22. Контроль разрешений внешнего интерфейса — дизайн внешнего интерфейса среды быстрой разработки SnailAspNetCoreFramework.
23. Как избежать повторного написания внешнего CRUD-кода (внедрение и использование различных компонентов SnailXXX во внешнем интерфейсе) - дизайн внешнего интерфейса среды быстрой разработки SnailAspNetCoreFramework
24. Введение в прокси-сервер запроса - интерфейсный дизайн среды быстрой разработки SnailAspNetCoreFramework.