【发布时间】:2018-06-02 11:24:04
【问题描述】:
我正在设计一个运输应用程序并尝试使用 Clean Architecture 和 DDD。在领域层的核心深处,我们有许多可配置的业务规则。例如,有用于确定货物的最佳承运人、确定运输方式、确定付款类型等的业务规则。每个业务规则都从数据库中选择数据,因此我计划使用 BizRule 存储库。问题是,根据我对 DDD 原则的理解,域实体(例如 Shipment)不应该调用存储库(例如 BizRuleRepository)。用例层应该是调用存储库的层。如果我采用这种方法,那么我将不得不将许多复杂的业务规则移至用例层,我不确定这是否是最好的方法。在这种情况下,进行异常并让域实体调用存储库是否有意义?提前谢谢你。
【问题讨论】:
标签: domain-driven-design ddd-repositories clean-architecture