DDD实体和对象
实体 entity
标识符用来唯一定位一个对象,在数据库中我们一般用表的主键来实现标识符,主键和标识符的思考角度不同,就是 id 字段 ;
实体:拥有唯一的标识符,标识符的值不会改变,而其他对象的状态(属性)会经历各种变化,标识符用来跟踪对象状态的变化,一个实体的对象无论怎么变化,我们都能通过
标识符定位这个对象 ;
实体一般表现就是 EF Core 中的实体类 ;
ps:如何区分实体和对象,看对象有没有一个唯一的标识符,有标识符(id),那么这个对象就是一个实体 entity ;
值对象 Value Object
没有标识符的对象,也有多个属性,依附某个实体类对象 ;eg:比如某个实体类“商家”的衣服颜色对象或者位置对象 ;衣服颜色对象或者位置对象就是值对象(可以值简单或者复杂对象);