ANDROID MVP 交互器与 MVVM 存储库

ANDROID MVP Interactor vs MVVM Repository

我了解 MVVM 具有视图 - Viemodel -> 存储库流程,其中存储库负责处理 api 调用、数据库调用...

另一方面,在 MVP 中,我们有 View - Presenter - Interactor。 在我看来,MVP 中的交互器与 MVVM 中的存储库非常相似。他们都使用服务进行网络和数据库调用,并将结果发送到 Viewmodel/Presenter。

我想了解更多关于此交互器 - 存储库相关性的信息。 是不是如果我们在MVP架构中有Interactor,我们就不需要Repositoryclass因为网络层已经在Interactorclass中分离了? 我们也可以说 MVP 中的交互器与 MVVM 中的存储库几乎是一回事吗? 它们有什么区别?

Interactor 表示一个逻辑用例。交互器更像是一方面弥合视图层(通过与演示者通信)与另一方面实现环境或存储库之间的差距。交互器用于清楚地了解您要在应用程序中开发的用例。

Repositories,正如您提到的,为我们提供了干净的 API 来访问数据层并将数据传递到域层(interactor/use 例).

如果我们在MVP架构中有Interactor,我们是否不需要Repositoryclass,因为网络层已经在Interactorclass中分离了? Answer-- 否 因为我们要避免同时处理表示逻辑和数据流逻辑的对象。我们还希望数据流逻辑可以跨不同的 ViewModel 重用。因此最好不要直接从 ViewModel/Presenter 调用存储库并有一个额外的 interactor/use 案例来处理它。

供参考 - https://proandroiddev.com/why-you-need-use-cases-interactors-142e8a6fe576