我正在建立问卷的创作者。问卷由部分组成,部分由页面和页面组成,包括问题。问卷是骨料根。

部分,页面和问题可以具有所谓的短号,这些短号在问卷中应该是唯一的(但在数据库中不是唯一的,因此它们并不是严格的身份)。我打算将快速代码为价值对象,并希望包括在问卷中应该是唯一的业务规则,但我不确定如何确保这一点。我的理解是,值对象不应访问存储库或服务层,因此如何找出它是否唯一?

谢谢你的帮助。

达伦

有帮助吗?

解决方案

您可以将快速代码生成短码的责任分配给问卷聚集。它可以基于嵌入问卷对象的简单计数器。每个想要创建短代码的实体都会调用其包含问卷的NextShortCode()方法,以获取下一个唯一(当前问卷的范围)短代码值。

其他提示

显然,您将需要数据库中的PK字段。您如何实现您的决定,但是如果是我,我将把PK字段带入您的值对象,以便自动处理。

您想使用像 GUID 或uuid。确切的生成方式确切将取决于您用于应用程序的语言。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top