Skip to content

xiongneng/record

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

介绍

信息记录

  • 领域模型驱动设计 1 value object 值对象 没有标识,没有唯一的ID 有自己的上下文,脱离上下文环境的值对象没有作用 当前上下文的值对象可能是另一个上下文的实体 内聚且可以有行为 持久化 不太好做

2 Entity 实体 有唯一标志id 实体是高度内聚和自治 仅仅具有类的属性 - 贫血模型 将实体赋予它应用的行为所建立的实体 - 充血模型 可以尝试转移一部分行为给值对象

3 聚合 特性: 聚合是一个明确的边界 聚合的出现是为了解决领域模型之间的复杂关联关系的 聚合封装了一系列的相关对象,它是这些对象的集合 聚合应该有一个根,并且这个根是通过集合中的一个实体选出来的 聚合外部的事物想引用聚合只能通过根的ID来访问 聚合是数据修改和持久化的基本单元 假如我们确确实实需要单独访问目前聚合根里面的实体呢?它可能会被单独提升为一个聚合根。而且通过ID之间的引用保持对原有聚合根之间的关联关系 小的聚合 聚合过于庞大,可以考虑将某个entity提升为聚合根供外界单独访问 一致性 聚合中的所有对象都应该保持一致的变更,这是毫无疑问的。因此一个聚合在持久化的时候理应在一个事务中完成。但是当一个业务用例可能会操作多个聚合的时候,修改了聚合A的同时也更改了聚合B,这是一个很常见的操作,我们也必须保证多个聚合之间的一致性。这在单体应用中很容易实现,但是在分布式系统中我们不得不考虑最终一致性

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published