• 领域驱动设计笔记


      最近在看Eric Evans的领域驱动设计,本博文目的是记下该书籍的一些感悟,注意,因为不想重复造轮子通常我理解完一些概念后会从网上加以确认,然后可能会截取其他博主的定义和图片,请不要说我抄袭。

      DDD最重要的概念,首先是聚合、还有聚合根

      聚合:

      聚合,它通过定义对象之间清晰的所属关系和边界来实现领域模型的内聚,并避免了错综复杂的难以维护的对象关系网的形成。聚合定义了一组具有内聚关系的相关对象的集合,我们把聚合看作是一个修改数据的最小原子单元。

      聚合根:

      聚合根,每个聚合都有一个根对象,根对象管理聚合内的其他子对象(实体、值对象);聚合之间的交互都是通过聚合根来交互,不能绕过聚合根去直接和聚合下的子实体进行交互。

    上面的例子中,Car、Wheel、Position、Tire四个对象构成一个聚合,其中Car是聚合根;Customer也是聚合根,Customer不能直接访问Car下的Tire(子实体),而是只能通过聚合根Car来访问。

      聚合的一致性:Eventual Consistency

      上面表达了一个关于聚合的一致性设计原则:聚合内的数据修改,是ACID强一致性的;跨聚合的数据修改,是最终一致性的。遵守这个原则,可以让我们最大化的降低并发冲突,从而最大化的提高整个系统的吞吐。

     

      然后是三个模式:Entry Object,Value Object,Service Object,Module

  • 相关阅读:
    winform 异步更新ui
    定时器的写法 winform
    延迟加载
    使用VS分析程序性能
    win7 C/C++,QT安装环境总结
    论文总结
    天舟一号
    硬盘 SMART 检测参数详解[转]
    碧桃花
    在C的头文件中定义的结构体,如何在cpp文件中引用
  • 原文地址:https://www.cnblogs.com/iCanhua/p/8419920.html
Copyright © 2020-2023  润新知