在项目

时间:2018-05-26 15:21:58

标签: android mvp

我将MVP模式应用于我的项目。我有两个不同的活动:一个从本地数据库获取数据,另一个进行数学计算。在MVP模式中,可以使用interactors并且我想在我的项目中使用它们(不确定我是否真的需要它们在这样的项目中,但它是出于教育目的;顺便说一句,我需要它们吗?)。另外,我已经了解它们用于连接到DB,以及一些与设计元素没有直接关系的其他工作。所以,如果我在一个interactor中进行计算和数据检索,那么我会将这个类声明为2次并且每次使用它的功能为50%,但我认为这是一个不好的做法。因此,可行的方法就是使 2个不同的交互者:一个用于数据检索,一个用于数学计算。 这样可以吗?因为这些类定义了项目的主要业务规则,所以我应该有一个interactor,但我认为这不是一个非常好的解决方案。

2 个答案:

答案 0 :(得分:0)

Interactor是来自VIPER架构的对象。

您可以使用Repository模式。只需创建2个存储库,例如:MathCalculationsRepositoryDataRetrievingRepository。但如果您为少数存储库分解数据加载操作会更好,例如:如果您有检索事件和用户数据的请求,则可以创建UserRepositoryEventsRepository

答案 1 :(得分:0)

Interactor(来自原始干净架构的UseCase)是一个包含所有业务逻辑的类。是的,创建一个单一的交互器并使用它们50/50是一个坏主意,是的 - 为不同的目标创建2个不同的交互器是一个好主意(因为你按类分离逻辑,并且可以重用这些类)。

但你错误的是,用于连接数据库和网络的交互器,用于网络和数据库连接使用的存储库(也称为网关),由交互者使用。