學習 .NET Core 開發,試著將自己理解的clean architecture 跟 DDD (Domain Driven Design) 用 .NET Core 做出簡單的開發架構。
- Domain Drive Design (DDD)
- Clean Architecture
- Dependency Injection (DI)
- Inversion of Control (IoC)
- Mediator Pattern (中介者模式)
- CQRS 模式? (不太算是,因為目前是把Query 也用Mediator 方式)
- Event Driven
- Rest API
# start Services/API service
dotnet run src/Services/API
目前先在./
使用docker build
,之後再來想怎麼到不同src/Services/...
裡面個別配置Dockerfile
。
docker build -t aspnetcore-clean-arch:dev -f .
docker run -it --rm -p 5000:80 aspnetcore-clean-arch
使用xUnit
dotnet test
# or
dotnet test test/Domain.UnitTests
appsettings.json
"UseInMemoryDatabase": false,
在src/Services/API
project 使用Migrations
#
dotnet ef database update --project src/Infrastructure --startup-project src/Services/API
# 初次使用 或是 有異動context 跑migration
dotnet ef migrations add InitialCreate --project src/Infrastructure --startup-project src/Services/API --output-dir Persistence/EFCore/Migrations
# update database
dotnet ef database update --project src/Infrastructure --startup-project src/Services/API
# drop database
dotnet ef database drop --project src/Infrastructure --startup-project src/Services/API
Entity Framework Core 使用
UseInMemoryDatabase
無法使用dotnet ef
- 分層規劃
- DDD 導入
- MediatR
- EntityFrameworkCore
- SqlServer
- InMemory
- Migration
- JwtBearer 身份認證與授權
- Identity Service
- AutoFac
- AutoMapper
- xUnit
- FluentValidation
- Dockerfile
- Mongodb
- RabbitMQ