《DDD实战课-欧创新》学习笔记

领域、子域、核心域、通用域和支撑域

  1. DDD 的领域就是这个边界内要解决的业务问题域。

  2. 领域可以进一步划分为子领域。我们把划分出来的多个子领域称为子域,每个子域对应一个更小的问题域或更小的业务范围。

  3. 领域建模和微服务建设的过程和方法基本类似,其核心思想就是将问题域逐步分解,降低业务理解和系统实现的复杂度。

  4. 在领域不断划分的过程中,领域会细分为不同的子域,子域可以根据自身重要性和功能属性划分为三类子域,它们分别是:核心域、通用域和支撑域。

    1. 决定产品和公司核心竞争力的子域是核心域,它是业务成功的主要因素和公司的核心竞争力。

    2. 没有太多个性化的诉求,同时被多个子域使用的通用功能子域是通用域。

    3. 功能子域是必需的,但既不包含决定产品和公司核心竞争力的功能,也不包含通用功能的子域,它就是支撑域。

  5. 领域的核心思想就是将问题域逐级细分,来降低业务理解和系统实现的复杂度。通过领域细分,逐步缩小微服务需要解决的问题域,构建合适的领域模型,而领域模型映射成系统就是微服务了。

  6. 核心域、支撑域和通用域的主要目标是:通过领域划分,区分不同子域在公司内的不同功能属性和重要性,从而公司可对不同子域采取不同的资源投入和建设策略,其关注度也会不一样。

限界上下文

  1. 通用语言定义上下文含义,限界上下文则定义领域边界,以确保每个上下文含义在它特定的边界内都具有唯一的含义,领域模型则存在于这个边界之内。

  2. 在事件风暴过程中,通过团队交流达成共识的,能够简单、清晰、准确描述业务涵义和规则的语言就是通用语言。

  3. DDD 分析和设计过程中的每一个环节都需要保证限界上下文内术语的统一,在代码模型设计的时侯就要建立领域对象和代码对象的一一映射,从而保证业务模型和代码模型的一致,实现业务语言与代码语言的统一。

  4. 用来封装通用语言和领域对象,提供上下文环境,保证在领域之内的一些术语、业务相关对象等(通用语言)有一个确切的含义,没有二义性。这个边界定义了模型的适用范围,使团队所有成员能够明确地知道什么应该在模型中实现,什么不应该在模型中实现。

  5. 理论上限界上下文就是微服务的边界。我们将限界上下文内的领域模型映射到微服务,就完成了从问题域到软件的解决方案。

实体和值对象

  1. 在 DDD 中有这样一类对象,它们拥有唯一标识符,且标识符在历经各种状态变更后仍能保持一致。对这些对象而言,重要的不是其属性,而是其延续性和标识,对象的延续性和标识会跨越甚至超出软件的生命周期。我们把这样的对象称为实体。

    1. 实体的业务形态:领域模型中的实体是多个属性、操作或行为的载体。实体和值对象是组成领域模型的基础单元。

    2. 实体的代码形态:在代码模型中,实体的表现形式是实体类,这个类包含了实体的属性和方法,通过这些方法实现实体自身的业务逻辑。在

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
无界零售系统搭建中的DDD和微服务是两个关键的实战方法。 领域驱动设计(DDD)是一种软件开发方法论,强调在设计和实现过程中将业务逻辑置于核心位置。在无界零售系统中,DDD可以帮助我们更好地理解业务需求,通过对业务领域的建模和解析,提取出核心的业务概念和逻辑,并将其转化为可操作的代码。 在无界零售系统搭建的过程中,微服务架构可以帮助我们将整个系统拆分为多个小而独立的服务单元,每个服务单元都可以独立进行开发、测试和部署。微服务可以提供更高的灵活性和可扩展性,同时也提供了更好的容错和可恢复性。在无界零售系统中,我们可以将不同的业务模块和功能拆分成独立的微服务,例如订单管理、用户管理、库存管理等。 通过将DDD和微服务相结合,我们可以建立一个高度灵活、高度可扩展的无界零售系统。首先,DDD可以帮助我们清晰地定义和理解业务需求,并将其转化为可操作的代码。其次,微服务架构可以将整个系统分解为多个独立的服务单元,充分利用分布式环境下的优势。这些服务单元可以独立进行开发、测试和部署,同时也更容易进行扩展和维护。 在实践中,我们可以先进行业务领域的分析和建模,分析系统中的核心业务流程和概念,并将其转化为领域对象。然后,我们可以将这些领域对象归类到不同的微服务中,每个微服务负责处理相关的业务功能。最后,我们可以利用现有的微服务框架和工具来实现这些微服务,并通过适当的API和消息机制来实现微服务之间的交互。 综上所述,通过应用DDD和微服务,我们可以更好地构建无界零售系统,提高系统的灵活性、可扩展性和可维护性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值