【问题标题】:When using the Repository Pattern in Java, is it ok to use a single Manager/Controller for 3 different Repositories?在 Java 中使用存储库模式时,可以为 3 个不同的存储库使用单个管理器/控制器吗?
【发布时间】:2015-10-28 18:43:31
【问题描述】:

我有 3 个需要相互通信的存储库。我可以在单个管理器中处理所有 3 个存储库的逻辑,还是为每个存储库创建不同的管理器并让它们使用另一个管理器(将直接与 UI 通信)相互通信是更好的做法?

上下文:

它基本上是一个用于管理餐厅订单的应用程序。

这 3 个存储库是:

  • ProductRepository - 可用的产品
  • TableRepository - 餐厅的所有桌子
  • OrderRepository - 一个订单包含一个元组 (product_id, table_id)

经理必须验证数据,创建 Product、Table 和 Order 对象并将它们保存到正确的存储库中。

【问题讨论】:

  • 请根据您的尝试显示代码示例?
  • 添加更多背景,或者一些具体的(示例)片段。这些存储库代表什么。以及它们如何相互依赖。
  • 为问题添加了一些细节。
  • 您是在实现事务脚本还是域模型?需要保护的确切用例和不变量是什么?

标签: java domain-driven-design repository-pattern repository-design


【解决方案1】:

如果类/资源相互依赖,那么(现在)主要有一个Dependency Injection 框架,负责处理这些资源的创建,并将它们注入到需要它们的人体内。

最著名的 Java DI 库是

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-19
    • 2020-10-18
    • 2020-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多