我将MVP模式应用于我的项目。我有两个不同的活动:一个从本地数据库获取数据,另一个进行数学计算。在MVP模式中,可以使用interactors
并且我想在我的项目中使用它们(不确定我是否真的需要它们在这样的项目中,但它是出于教育目的;顺便说一句,我需要它们吗?)。另外,我已经了解它们用于连接到DB,以及一些与设计元素没有直接关系的其他工作。所以,如果我在一个interactor
中进行计算和数据检索,那么我会将这个类声明为2次并且每次使用它的功能为50%,但我认为这是一个不好的做法。因此,可行的方法就是使 2个不同的交互者:一个用于数据检索,一个用于数学计算。 这样可以吗?因为这些类定义了项目的主要业务规则,所以我应该有一个interactor
,但我认为这不是一个非常好的解决方案。
答案 0 :(得分:0)
Interactor
是来自VIPER架构的对象。
您可以使用Repository模式。只需创建2个存储库,例如:MathCalculationsRepository
和DataRetrievingRepository
。但如果您为少数存储库分解数据加载操作会更好,例如:如果您有检索事件和用户数据的请求,则可以创建UserRepository
和EventsRepository
。
答案 1 :(得分:0)
Interactor(来自原始干净架构的UseCase)是一个包含所有业务逻辑的类。是的,创建一个单一的交互器并使用它们50/50是一个坏主意,是的 - 为不同的目标创建2个不同的交互器是一个好主意(因为你按类分离逻辑,并且可以重用这些类)。
但你错误的是,用于连接数据库和网络的交互器,用于网络和数据库连接使用的存储库(也称为网关),由交互者使用。