编辑
为了进一步澄清我最初的问题,我用更多的’DDD’ – 终点,常见模式和讨论论点重写了这个问题.原始版本可以在revisions下找到.
Where and how are identities for entities/aggregate roots being generated inside the domain when correctly applying DDD?
我需要在创建或持久时为我的实体分配唯一标识.这些身份可以有多种风格
>计算(基于实体的特征,因此基于业务要求)
>自然(基于一组规则,因此基于业务逻辑)
>代理(基于随机生成的值,没有商业意义)
生成和分配身份的任务有很多种方法,从使用工厂创建身份,使用ORM授权到基础设施或数据库生成等.但是,如果正确应用DDD,身份应该在何处以及如何生成,考虑到我们不希望贫血领域模型和服务注入实体?
上述要求
>没有贫血领域模型
>不将服务依赖注入实体
可能的方法