Tag: n层架构

为DDD中的实体生成标识

编辑 为了进一步澄清我最初的问题,我用更多的’DDD’ – 终点,常见模式和讨论论点重写了这个问题。 可以在修订版本中找到原始版本。 在正确应用DDD时,在域内生成实体 / 聚合根的身份的位置和方式? 我需要在创建或持久化时为我的实体分配唯一标识。 这些身份可以有多种风格 计算(基于实体的特征,因此基于业务要求) 自然的(基于一组规则,因此基于业务逻辑) 代理(基于随机生成的值,没有商业意义) 有许多方法可以生成和分配身份,从使用工厂创建身份,使用ORM授权到基础设施或数据库生成等。但是,如果正确应用DDD,身份应该在何处以及如何生成,考虑到我们不希望贫血领域模型和服务注入实体 ? 要求如上所述 没有贫血领域模型 没有dependency injection服务到实体 可能的方法 工厂 双重调度( 这可以用于身份生成吗? ) 在repositiories内生成 在基础设施内生成(例如ORM或数据库) 注入服务到实体