我正在设计一个运输应用程序并尝试使用 Clean Architecture。我试图找出在哪里保存 Shipment 对象的状态,这样我就不必在每次用户单击 UI 中的按钮时重新实例化一个新对象。这是流程。
- 用户在 UI 中输入交货编号
- UI 控制器处理 UI 事件并实例化用例交互器的一个实例。传递给用例交互器的构造函数的存储库实例
- 用例交互器通过调用工厂(例如 CREATE_BY_DELIVERY)来实例化 Shipment 的实例。工厂调用 Repository 从数据库中收集数据。
- 交付数据在 UI 上填充
- 用户然后单击“报价单”按钮
- UI Controller 处理按钮点击事件并调用 Use Case Interactor a 的 RATE_QUOTE 方法。用例交互器是否需要像第 3 步一样再次调用 Shipment 工厂,或者用例交互器是否可以获取已在第 3 步中创建的 Shipment 对象的实例?
- 费率显示在 UI 上
- 用户然后单击处理发货按钮
- UI Controller 处理按钮点击事件并调用 Use Case Interactor a 的 PROCESS_SHIPMENT 方法。用例交互器是否需要像第 3 步一样再次调用 Shipment 工厂,或者用例交互器是否可以获取已在第 3 步中创建的 Shipment 对象的实例?
装运对象的状态应该是 UI 控制器、用例交互器还是存储库上的实例变量?理想情况下,我想将它保存在某个地方,这样我就不需要在每次用户单击 UI 上的按钮时都创建一个新对象。
先感谢您!