oop - 在DDD架构中,唯一ID生成属于哪里?

标签 oop service domain-driven-design

假设我的域中有一个“项目”实体,它需要生成一个唯一的 ID(在正常数字 ID 之上),每个项目由 2 个字母 + 4 个数字组成。该 id 在所有项目中必须是唯一的。

我很难放置此功能,感觉它几乎只应该在第一次保存项目时才放置在存储库中。

我确信它不属于应用程序服务,我不确定它是否是任何业务层关注的领域服务,并且将其作为基础设施服务感觉很奇怪,但它确实需要检查是否存在任何其他项目具有随机生成的 [LL]-[DDDD] 类似代码。

即使我将此代码放在存储库中。save 它仍然需要从某个地方调用某些内容,所以问题是,我应该在哪里放置一个为我提供这样的免费随机 ID 的服务?

最佳答案

作为域一部分的 ID 应由域生成。

如果域没有定义任何 ID,您也不应该在域中公开它们(严格来说,但以任何一种方式包含它们可能更容易)。

关于oop - 在DDD架构中,唯一ID生成属于哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17070587/

相关文章:

r - 如何为自定义 S3 类实现提取/子集化 ([, [<-, [[, [[<-) ] 函数?

c++ - 如何从派生类调用重载的父 cout 友元类?

java - 无法创建抽象父类(super class)的非抽象子类?

event-handling - 限界上下文内部和外部的 EventSourcing

java - 如何在俄罗斯方 block 游戏中保留底部的矩形?

c# - 在安装时设置 .NET Windows 服务的角色...从 app.config 设置

wcf - 通过 WCF 服务返回数据集时出现问题

architecture - 领域驱动设计中基础设施和应用程序代码的意义

asp.net-mvc - .NET 系统架构设计中涉及多个模型和聚合的良好实践是什么

java - 如何使用 MusicPlayService 播放音乐