IDDD 5 Entity 发表于 2014-07-26 | 分类于 Art << 实现领域驱动设计 >> 五: 实体实体是有着生命周期的领域对象,拥有唯一标识。 MindMapping Source:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354* 实体** 为什么使用?*** 唯一的身份标识*** 生命周期(可变性,状态变化)** 唯一标识*** 生成方式(从简单到复杂)**** 用户提供***** 用户手动输入复杂性:在于需要用户自己生成高质量的标识**** 应用程序生成***** UUIDUniversally Unique Identifier***** GUIDGlobally Unique Identifier**** 持久化机制生成***** DB 自增列机制**** 另一个限界上下文提供*** 标识生成时间**** 对象创建时**** 持久化对象时*** 委派标识**** 层超类型Layer Supertype*** 标识稳定性**** 确保标识不被修改** 发现实体*** 本质特征*** 关键行为*** 角色和职责**** 领域对象扮演多种角色***** 通常用接口来定义****** 隐藏细节**** 领域语言优于技术实现*** 创建实体**** 提供构造函数来初始化实体状态*** 验证**** 目的***** 检查模型正确性**** 验证属性***** 自封装(Self-Encapsulation)**** 验证整体***** 规格Specification***** 策略模式(Strategy)***** 延迟验证 (Deferred Validation)**** 验证对象组合*** 跟踪变化**** 领域事件**** 事件存储