事件溯源-《复杂软件设计之道:领域驱动设计全面解析与实战》笔记 - 6

1. 关于事件溯源MartinFowler在2005年的博客中提及了“EventSourcing”这个词语,他将事件描述为一个应用的一系列状态改变,这一系列事件能够捕获用来重建当前状态的一切事实真相。他认为事件是不可变的,事件日志是一种只会不断追加(appendonly)的存储。事件从来不会被删除,

#领域驱动   #《复杂软件设计之道:领域驱动设计全面解析与实战》笔记   

CQRS架构-《复杂软件设计之道:领域驱动设计全面解析与实战》笔记 - 5

1. DDD的实现架构DDD的实现架构有很多种,这些架构都是一种关注点分离模式的实现,也是SOLID单一职责原则的体现,将人们关注的一个职责与其他职责分离,不要试图混合在一起。传统的SOA架构在这方面有很大缺陷,造成了一种单体耦合的架构,虽然这样的大型服务能够实现一定程度的复用和重用,但是在重用和解

#领域驱动   #《复杂软件设计之道:领域驱动设计全面解析与实战》笔记   

实体和值对象-《复杂软件设计之道:领域驱动设计全面解析与实战》笔记 - 4

1. 充血/贫血模型1.1. 理解充血模型与贫血模型DDD领域模型=数据结构+操作方法,数据和行为结合在一起才是一个完整的真正业务对象(领域对象),也才能够真正发挥对象封装的作用,这样的对象或类称为“充血模型”。贫血模型的对象或类一般只有setter/getter方法,是一种纯粹的数据结构,没有任何

#领域驱动   #《复杂软件设计之道:领域驱动设计全面解析与实战》笔记   

聚合设计-《复杂软件设计之道:领域驱动设计全面解析与实战》笔记 - 3

1. Top Level聚合设计是DDD战术设计中的一部分。通过有界上下文划分团队,使用统一语言命名上下文;聚合设计则是进入有界上下文内部讨论其结构。如果说有界上下文解决了领域内的划分,那么聚合就解决了有界上下文内对象之间的划分。所谓划分就是将紧密的放一起,让松散的更加松散,甚至没有关系。从这里能看

#领域驱动   #《复杂软件设计之道:领域驱动设计全面解析与实战》笔记   

领域驱动战略设计-《复杂软件设计之道:领域驱动设计全面解析与实战》笔记 - 2

1. Top Level领域驱动设计共有两个部分:战略设计战术设计战略设计也可理解为策略设计,是从宏观角度着眼于领域的分析设计,属于系统分析阶段,注重如何从有界上下文中寻找领域模型,战略模式由有界上下文、无所不在的语言和上下文映射组成战术设计属于设计代码阶段,使用聚合、实体、值对象等对象类型概念表达

#领域驱动   #《复杂软件设计之道:领域驱动设计全面解析与实战》笔记   

领域驱动设计基础-《复杂软件设计之道:领域驱动设计全面解析与实战》笔记 - 1

1. 传统建模与DDD建模1.1. E-R数据建模&面向对象建模E-R数据建模ER数据建模法是在接收到需求以后直接开始数据表ER模型的设计、实体表和表关系的设计。ER模型往往依赖于数据库技术,甚至与后者非常紧密地耦合在一起,虽然带来了效率的提升,但是高效率不代表高质量,而软件高质量却能带来高

#领域驱动   #《复杂软件设计之道:领域驱动设计全面解析与实战》笔记