22、泛化建模(上):领域知识更抽象怎么办

你好,我是钟敬。 上节课,我们学习了“限定”技术。利用这个技术可以丰富模型的语义并简化关联。今天,我们要挑战领域建模中的另一个话题——泛化。 泛化是领域建模技能由初级水平迈向中、高级水平的门槛。也就是说,如果不懂泛化,那么你的领域建模水平就始终停留在...

手把手教你落地DDD

21、用“限定”建模:怎样简化一对多关联

你好,我是钟敬。 在前几节课我们讲完了值对象。今天咱们学习另外一种建模技术——限定。 在《DDD》原书里讲关联的时候,专门强调了这个方法,因为限定可以起到丰富模型语义和简化关联的作用。 然而我发现,即便是一些UML老手,会用这个技术的也不多。这个技术...

手把手教你落地DDD

20、值对象(下):值对象和实体的本质区别是什么

你好,我是钟敬。 在前两节课,我们学习了值对象的基本概念、编程实现以及值对象的优点,基本上已经可以开始在实践中应用了。现在我们已经知道,实体是靠独立于其他属性的标识来确定同一性的,而值对象以本身的值来确定同一性,没有独立于其他属性的标识;理论上,实体...

手把手教你落地DDD

19、值对象(中):值对象有什么好处

你好,我是钟敬。 上节课我们讲了值对象的基本概念和编程方法。实体和值对象的差别大体可以总结成这句话:实体是一个“东西”,而值对象是一个“值”,往往用来描述一个实体的属性。 学完前面的内容,不知道你会不会有这样的疑问:我们花了这么大的功夫来区分实体和值...

手把手教你落地DDD

18、值对象(上):到底什么是值对象

你好,我是钟敬。 前面几节课我们学习了聚合,这节课我们继续学习DDD中另一个有用的概念——值对象。 DDD 把领域对象分成了两种:一种是实体,另一种是值对象。前面我们讨论的组织、员工等等都是实体。而值对象则往往是用来描述实体的属性“值”的。值对象在一...

手把手教你落地DDD

17、聚合的实现(下):怎样用事务保护聚合

你好,我是钟敬。 [上节课]我们完成了添加员工的功能,并且实现了关于技能和工作经验的不变规则。今天我们重点要做两件事。第一,是继续完成修改员工的功能。 另外,假如不考虑并发的情况,上节课的逻辑已经足以保证不变规则了。但是正如我们在[第14节课]讲聚合...

手把手教你落地DDD
17273747576673