我需要在 iOS 应用程序中实现 pull to refresh,我遇到了这个问题,在那里我不知道如何用 DDD 的最佳实践来解决这个问题。
表示层有一个事件来刷新列表,这需要更新结果,丢弃缓存并从后端获取元素。
在域层,我的用例与存储库对话,但是,由于缓存是一个实现细节,存储库接口(interface)不公开“cleanCache”方法,因此没有从用例刷新缓存的干净方法。
这或多或少是我拥有的文件结构
领域
基础设施
应用
介绍
最佳答案
由于在可以使用缓存和需要获取远程资源时似乎是特定于用例的,因此决定使用哪个存储库最适合应用程序层。
例如,您可以使用一个工厂,它在运行时为应用程序用例提供具体的存储库实现,但仍然仅在编译时依赖于存储库接口(interface)。
或者您使用相同的方法创建另一个存储库接口(interface),并将此存储库接口(interface)显式绑定(bind)到应该使用缓存的具体用例。
关于domain-driven-design - 在领域驱动设计应用中拉动刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65135729/