实体

什么是实体

  • 一个实体是一个唯一的东西,并且可以相当长的时间内持续的变化(修改)。
  • 唯一身份表识和可变性特征将实体与值对象区分开来
  • 在设计早期
    • 刻意把关注点放在能体现实体身份唯一性的主要属性和行为上
    • 同时还关注如何对实体进行查询
    • 刻意忽略掉次要属性和行为
  • 首先关注实体的本质特征:唯一标识、对实体的查找

创建唯一标识

  • 用户提供唯一标识:需要用户自己生成高质量的标识
  • 应用程序生成唯一标识:(节点当前时间,节点IP, UUID, GUID)
  • 持久化机制生成唯一标识:向数据库获取一个序列值或递增值,结果总是唯一的
  • 另一个限界上下文(BC)提供唯一标识:比如通过第三方匹配、模糊匹配,用户所选对象的标识将作为本地标识。

唯一标识创建时机

  • 实体的唯一标识的生成可以发生在对象创建的时候
  • 也可以发生在持久化对象的时候(并发时存在持久化之前多个相同空标识的不同实体冲突可能性)

参考文献

  1. 《实现领域驱动设计》 — Vaughn Vernon


blog comments powered by Disqus
—  原创作品许可 — 署名-非商业性使用-禁止演绎 3.0 未本地化版本 — CC BY-NC-ND 3.0   —