【问题标题】:Alternative Data Access pattern to Repository存储库的替代数据访问模式
【发布时间】:2009-03-05 00:04:18
【问题描述】:

我的域中有某些不是聚合根/实体的对象,但我仍然需要从数据库中检索它们。我不想通过为这些东西创建存储库来混淆事情。那么,什么是替代数据访问模式?您是否会简单地为它们创建一个 DAO,同时仍然分离接口?

编辑:

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

ABCD1 ABCD2 ABCD3

所以,我保留了一张表格,其中包含一行一列来存储相关数字。现在,我不想将这个数字视为一个实体并为其创建一个存储库——这太过分了。我只需要一种检索数字、将其加 1 并保存的方法。我知道有无数种方法可以做到,但我想知道是否有习惯方法。

【问题讨论】:

    标签: domain-driven-design dao repository


    【解决方案1】:

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

    如果没有更多细节,我只能建议考虑查看Martin Fowler's Patterns of Enterprise Application Architecture 的书。

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

    【讨论】:

      【解决方案2】:

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

      顺便说一句,我发现这个问题真的很有趣,因为它在编写特定功能时不时出现。我通常最终会发现我在场景中遗漏了一些东西,而它最终很适合正常的存储库模式。

      【讨论】:

        【解决方案3】:

        在调查完选项后,我将使用表网关模式。

        【讨论】:

        • @NG - 为了让您的答案对将来遇到答案的人更有用,您能否提供此模式的摘要?可能链接到有关此模式的文章?
        猜你喜欢
        • 1970-01-01
        • 2023-03-26
        • 2013-08-10
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 2012-09-19
        相关资源
        最近更新 更多