ANDROID MVP交互器vs MVVM存储库



我知道MVVM有View - vimodel ->存储库流程,其中存储库负责处理api调用,数据库调用…

另一方面,在MVP中我们有视图-演示者-交互者。在我看来,MVP中的交互器与MVVM中的存储库非常相似。它们都对service进行网络和数据库调用,并将结果发送给Viewmodel/Presenter。

我想了解更多关于交互器-存储库相关性的知识。如果我们在MVP体系结构中有交互器,我们是否真的不需要Repository类,因为网络层已经在交互器类中分离了?我们也可以说MVP中的交互器与MVVM中的存储库几乎是一样的吗?它们的区别是什么?

交互器表示一个逻辑用例。交互器更像是在视图层(通过与演示者通信)和实现环境(或存储库)之间架起一座桥梁。交互器用于清晰地描绘您想要在应用程序中开发的用例。

,为我们提供了干净的API来访问数据层并将数据传递到域层(交互器/用例)。

如果我们在MVP架构中有交互器,我们是否真的不需要Repository类,因为网络层已经在交互器类中分离了? 回答——没有因为我们希望避免处理表示逻辑和数据流逻辑的对象。我们还希望数据流逻辑可以跨不同的viewmodel重用。因此,最好不要直接从ViewModel/Presenter调用存储库,而要有一个额外的交互器/用例来处理它。

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

最新更新