.Net Core 微服务实战 - 工程结构

源码及系列文章目录

Git 源码https://github.com/tangsong1995/TS.Microservices
CSDN 资源https://download.csdn.net/download/qq_33649351/34675095

系列文章目录https://blog.csdn.net/qq_33649351/article/details/120998558

应用分层

• 领域模型层
• 基础设施层
• 应用层
• 共享层

共享层

共享层工程

共享层分为三个工程:

  • Core:承载一些基础的类型,如异常、帮助类等。
  • Domain抽象层:定义领域模型的基类和接口,定义领域事件的接口,定义领域事件处理的接口,定义值对象。
  • 基础设施核心层:定义仓储和EFContext的共享代码。

共享层的类库在不同的项目中都可以使用,可以放到私有Nuget仓库中。
其他可以共享的代码也可以放到这一层,如缓存、消息队列、网关等。

领域模型层

定义项目中的领域模型,定于聚合及领域事件。
领域模型层

基础设施层

基础设施层定义了仓储层和项目内的共享代码的实现。
基础设施层

应用层

应用层

应用层分为两个工程:

  • Api层:承载WebApi。
  • 后台任务:执行Job。

其中Api层又分为以下几个目录:

  • Application:使用CQRS的设计模式,命令查询分离,还包含领域事件的处理及集成事件的处理。
  • Controllers:定义Api接口。
  • Extensions:服务注册及中间件配置。

建议

  • 领域模型专注业务的设计,不依赖仓储等基础设施层
  • 基础设施的仓储层仅负责领域模型的取出和存储
  • 使用 CQRS 模式设计应用层
  • Web API 是面向前端的交互的接口,避免依赖领域模型
  • 将共享代码设计为共享包,使用私有 NuGet 仓库分发管理
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值