我的域中有某些对象不是聚合根/实体,但我仍然需要从数据库中检索它们。我不想通过为这些东西创建存储库来混淆事物。那么,什么是替代数据访问模式?你能简单地为他们创建一个DAO,当然还要分离界面吗?

编辑:

关于我正在做什么的更多细节。我需要创建一个代码。此代码对其格式有一定的规则。其中一条规则是最终字符必须是从生成的最后一个代码增加1的唯一数字。例如:

ABCD1 ABCD2 ABCD3

所以,我正在保留一个包含一行,一列的表来存储有问题的数字。现在,我不想将这个数字视为一个实体并为它创建一个存储库 - 这太过分了。我只需要一种方法来检索数字,为它添加1并保存它。我知道有很多方法可以做到,但我想知道是否有一种习惯的方式。

有帮助吗?

解决方案 3

在调查了我正在使用Table Gateway模式的选项之后。

其他提示

理论上,有几种数据访问模式可以应用。如果您希望我们建议特定模式,您需要提供更多详细信息。

如果没有更多详细信息,我可以建议考虑查看 Martin Fowler的企业应用程序架构模式一书。

编辑:习惯方式?不,不是我能想到的 - 这实际上取决于您在域中使用此唯一代码的位置和方式。如果我这样做,我可能会创建一个直接与数据库直接对话来执行此功能的小型服务 - 不像存储库那么重,而且非常关注手头的问题。

基于编辑:我将首先查看您需要创建该代码的上下文。也许有一些相关的实体或你缺少的东西。

顺便说一句,我发现这个问题非常有趣,因为它在编写特定功能时会不时出现。我通常最终发现我在场景中遗漏了一些内容,并且它最终与正常的存储库模式非常吻合。

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