我的域中有某些对象不是聚合根/实体,但我仍然需要从数据库中检索它们。我不想通过为这些东西创建存储库来混淆事物。那么,什么是替代数据访问模式?你能简单地为他们创建一个DAO,当然还要分离界面吗?
编辑:
关于我正在做什么的更多细节。我需要创建一个代码。此代码对其格式有一定的规则。其中一条规则是最终字符必须是从生成的最后一个代码增加1的唯一数字。例如:
ABCD1 ABCD2 ABCD3
所以,我正在保留一个包含一行,一列的表来存储有问题的数字。现在,我不想将这个数字视为一个实体并为它创建一个存储库 - 这太过分了。我只需要一种方法来检索数字,为它添加1并保存它。我知道有很多方法可以做到,但我想知道是否有一种习惯的方式。
答案 0 :(得分:2)
理论上,有几种数据访问模式可以应用。如果您希望我们建议特定模式,您需要提供更多详细信息。
如果没有更多详细信息,我可以建议的是考虑查看Martin Fowler's Patterns of Enterprise Application Architecture本书。
编辑:习惯方式?不,不是我能想到的 - 这实际上取决于您在域中使用此唯一代码的位置和方式。如果我这样做,我可能会创建一个直接与数据库直接对话来执行此功能的小型服务 - 不像存储库那么重,而且非常关注手头的问题。
答案 1 :(得分:0)
基于编辑:我将首先查看您需要创建该代码的上下文。也许有一些相关的实体或你缺少的东西。
顺便说一下,我发现这个问题非常有趣,因为它在编写特定功能时会不时出现。我通常最终发现我在场景中遗漏了一些内容,并且它最终与正常的存储库模式非常吻合。答案 2 :(得分:0)
在调查了我正在使用Table Gateway模式的选项之后。