在我的域名中,我可能会有一个名为User
的实体,它代表一个人,代表一个企业的实体Tenant
。DDD - 实体是否应该创建实体?
有人可能会认为这是一个管理用户,因此,它应该可以注册新用户,这在代码方面将被转换为主要3种形式:
- adminUserInstance.CreateUser(newUserDTO);
- tenantInstance.CreateUser(newUserDTO)
- newUserInstace.SelfSave()
作为newUserInstace.SelfSave()
由于自注册的必要性,其他两个是否有意义?我是否应该只保留自我注册并转向所属机构模式,同一用户可以成为多个租户的一部分?
从更广泛的角度来看:应该Questions
/Answers
创建Users
或自我创建,然后绑定到给定User
?甚至更广泛的术语:实体是否应该掌握创建其他(而非任何其他)实体的知识,或者实体是否应该能够创建自己并拥有“请求者”,例如,调用将绑定它们的域服务?