美文网首页读书简友广场想法
《实现领域驱动设计》笔记

《实现领域驱动设计》笔记

作者: 选科规划与志愿填报_让梦想起航 | 来源:发表于2022-11-25 09:29 被阅读0次

     2022-10-12 11:25:10

    开发核心域的解决方案是一种关键性业务投入

     2022-10-12 11:25:26

    领域中还同时存在问题空间(problem space)和解决方案空间(solution space)。在问题空间中,我们思考的是业务所面临的挑战,而在解决方案空间中,我们思考如何实现软件以解决这些业务挑战。

     2022-10-12 11:25:38

    将关注点放在核心域上

     2022-10-12 11:42:58

    限界上下文是显式的,充满语义的

     2022-10-12 16:47:43

    我们应该考虑领域专家所讲的通用语言,将核心域中的概念自然地组织成单一的限界上下文

     2022-10-12 17:20:34

    采用语言驱动来实施

    DDD时

    ,你得小心

    这里的底线是:如果你没有采用语言驱动,那么你就不算在和领域专家一起工作来创建限界上下文。

     2022-10-21 16:33:14

    符合REST原则的系统将具有更好的松耦合性。

     2022-10-21 16:38:37

    长时处理过程(

    Long-Running Process)

    。一个长时处理过程有时也称为Saga

     2022-10-21 16:38:44

    设计长时处理过程有三种方法

     2022-10-21 16:38:58

    将处理过程设计成一个组合任务,使用一个执行组件对任务进行跟踪

     2022-10-21 16:39:04

    将处理过程设计成一组聚合,这些聚合在一系列的活动中相互协作

     2022-10-21 16:39:09

    设计一个无状态的处理过程,其中每一个消息处理组件都将对所接收到的消息进行扩充——即向其中加入额外的数据信息——然后再将消息发送到下一个处理组件

     2022-10-21 16:49:14

    唯一的身份标识和可变性(mutability)特征将实体对象和值对象(Value Objects,6)

    区分开来。

     2022-10-21 16:51:49

    值类型用于度量和描述事物,我们可以非常容易地对值对象进行创建、测试、使用、优化和维护。

     2022-10-21 16:52:05

    当你决定一个领域概念是否是一个值对象时,你需要考虑它是否拥有以下特征:

    · 它度量或者描述了领域中的一件东西。

    · 它可以作为不变量。

    · 它将不同的相关的属性组合成一个概念整体(Conceptual Whole)。

    · 当度量和描述改变时,可以用另一个值对象予以替换。

    · 它可以和其他值对象进行相等性比较。

    · 它不会对协作对象造成副作用[Evans]。

     2022-10-21 16:58:51

    一个共享的不变值对象可以从持久化存储中获取,此时可以通过标准类型的领域服务(7)

    或工厂(11)

    来获取值对象。

     2022-10-21 17:06:02

    根据领域模型来设计数据模型,而不是根据数据模型来设计领域模型。

     2022-10-24 16:22:27

    领域中的服务表示一个无状态的操作,它用于实现特定于某个领域的任务。当某个操作不适合放在聚合(10)

    和值对象(6)

    上时,最好的方式便是使用领域服务了。

     2022-10-24 16:22:48

    我们应该尽量避免在聚合中使用资源库(12)

     2022-10-24 16:54:51

    领域服务能做什么?

    · 执行一个显著的业务操作过程。

    · 对领域对象进行转换。

    · 以多个领域对象作为输入进行计算,结果产生一个值对象。

     2022-10-24 16:56:55

    过度地使用领域服务将导致贫血领域模型

    [Fowler, Anemic],即所有的业务逻辑都位于领域服务中,而不是实体和值对象中。

     2022-10-25 11:35:52

    在DDD中,模型中的模块表示了一个命名的容器,用于存放领域中内聚在一起的类。

     2022-10-25 17:43:38

    先考虑模块,再是限界上下文

     2022-10-25 18:02:43

    原则:在一致性边界之内建模真正的不变条件

     2022-10-25 18:03:07

    原则:设计小聚合

     2022-10-26 11:15:41

    原则:通过唯一标识引用其他聚合

     2022-10-26 11:23:49

    在边界之外使用最终一致性

     2022-10-26 15:54:43

    向聚合中注入资源库或者领域服务是有害的。这样做的原因可能是希望在聚合内部查找一个所依赖对象的实例,所依赖的对象可能是另一个聚合,也有可能是一系列的聚合。

    相关文章

      网友评论

        本文标题:《实现领域驱动设计》笔记

        本文链接:https://www.haomeiwen.com/subject/htphtdtx.html