DDD知识点

面临的问题:

  • 代码可读性很差,每个服务之间调用繁杂,流程混乱
  • 修改优化某服务业务代码时,促使无关的服务的测试用例失败,同时单个功能开发者很难快速就明确问题关键所在。
  • 测试用例特别难编写,需要 mock 大量数据来拉起整块服务

DDD解决的问题:

  • 1、DDD 帮助解决微服务拆分困境:


DDD 对业务分析时,首先会使用「聚合」把关联性强的业务概念划分在一个边界下,并限定「聚合」和「聚合」之间只能通过「聚合根」来访问,这是第一层边界。
其次,在「聚合」基础之上根据「业务相关性」、「业务变化频率」、「组织结构」等约束条件来定义「限界上下文」,这是第二层边界。 有了这两层边界作为约束和限制,微服务的边界也就清晰了,拆分微服务也就变得简单了。

 

  • 2、DDD 有助于统一语言:


领域驱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DDD(Domain-Driven Design,领域驱动设计)是一种软件开发方法论,强调了领域模型的设计和开发,它的相关知识包括: 1. 领域模型:领域模型是DDD的核心概念,它是对业务领域的一个抽象和建模,它能够帮助开发人员更好地理解和应对业务问题。 2. 领域驱动设计的分层架构:DDD的分层架构包括表示层、应用层、领域层和基础设施层。每一层都有不同的职责和作用,它们之间通过接口进行交互和通信。 3. 限界上下文:限界上下文是领域模型的一个重要概念,它表示一个领域的边界和范围,它可以帮助开发人员更好地理解和设计领域模型。 4. 聚合和实体:聚合是一组相关的对象的集合,它们共同构成了一个逻辑上的整体,聚合根是聚合的入口点。实体是聚合中的一个对象,它具有唯一的标识符和生命周期。 5. 领域事件和事件驱动:领域事件是一个状态变化的标志,通过事件驱动可以实现领域模型的松耦合,提高系统的可扩展性和可维护性。 6. 领域服务:领域服务是一些封装了领域逻辑的操作,它们可以跨越多个聚合和实体,提供更高层次的领域操作。 7. DDD的实践方法:DDD的实践方法包括分析和设计阶段的领域建模、领域驱动设计的实现、领域事件的设计和实现、领域服务的设计和实现等。 以上是DDD的相关知识点,通过深入了解和实践DDD,可以帮助开发人员更好地应对复杂的业务问题

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值