我\xe2\x80\x99m 设计一个运输应用程序并尝试使用清洁架构。我\xe2\x80\x99m 试图找出在哪里保存Shipment 对象的状态,以便每次用户单击UI 中的按钮时\xe2\x80\x99t 都必须重新实例化一个新对象。这是流程。
\n\n发货对象的状态应该是 UI 控制器、用例交互器还是存储库上的实例变量吗?理想情况下,我想将其保存在某个地方,这样我就不需要每次用户单击 UI 上的按钮时都创建一个新对象。
\n\n先感谢您!
\ndomain-driven-design ddd-repositories hexagonal-architecture clean-architecture
我正在设计一个运输应用程序,并尝试使用Clean Architecture和DDD。在域层的核心深处,我们有许多可配置的业务规则。例如,有一些业务规则用于确定货运的最佳承运人,确定运输方式,确定付款类型等。每个业务规则都会从数据库中选择数据,因此我打算使用BizRule存储库。问题是,根据我对DDD原理的理解,域实体(例如,货件)不应调用存储库(例如,BizRuleRepository)。用例层应该是调用存储库的那一层。如果我采用这种方法,那么我将不得不将许多复杂的业务规则移至用例层,我不确定这是否是最佳方法。在这种情况下,设置例外并让域实体调用存储库是否有意义?先感谢您。