DDD(Domain Driven Design)领域驱动模型

 DDD

(Domain Driven Design)

DDD为设计模型思想:

就是把一个复杂的软件应用系统的其中各个部分进行很好的拆解和封装,以达到高内聚低耦合的效果。

 

 

DDD分层架构各层职能:

展现层:

展现层负责向用户显示信息和解释用户指令。

应用层:

应用层是很薄的一层,主要面向用户用例操作,协调和指挥领域对象来完成业务逻辑。应用层也是与其他系统的应用层进行交互的必要渠道。应用层服务尽量简单,它不包含业务规则或知识,只为下一层的领域对象协调任务,使它们互相协作。应用层还可进行安全认证、权限校验、分布式和持久化事务控制或向外部应用发送基于事件的消息等。

领域层:

领域层是软件的核心所在,它实现全部业务逻辑并且通过各种校验手段保证业务正确性。它包含业务所涉及的领域对象(实体、值对象)、领域服务以及它们之间的关系。它负责表达业务概念、业务状态以及业务规则,具体表现形式就是领域模型。

基础层:

基础层为各层提供通用的技术能力,包括:为应用层传递消息、提供 API 管理,为领域层提供数据库持久化机制等。它还能通过技术框架来支持各层之间的交互。

CQRS 设计模型

将数据库操作与数据库查询进行分割

1.单个数据库分为命令模块和查询模块

2.双数据库是分为读和写,命令端使用针对写操作优化的数据库,查询端使用针对读取操作优化的数据库。

3.事件源CQRS:将实体发生的每一个状态作为快照来存储,实体并不是以标准化数据的形式保存,而是遇到时间的时间戳来保存它们的变更。当命令端系统完成数据更新操作后,会通过领域事件的方式通知查询系统,查询系统在接受到事件之后更新自己的数据源,所有的查询操作都通过查询系统暴露的接口完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.杨先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值