最简单的过滤Interactors的方法

时间:2017-07-05 09:01:43

标签: android mvp clean-architecture

我正在尝试在我的应用中实现干净的架构。 我有LoadItemsInteractor从存储库加载所有项目,我还有LoadItemsByIdInteractor按ID加载项目。

我有一个方法,可以过滤收到的项目,并且两个交互者共享它。我想知道我应该在哪里放置这段代码。选项:

    带有静态方法Utils
  • filter类,两个交互者在将值返回给演示者之前调用它
  • 创建实现BaseLoadItemsInteractor方法的抽象filter并从中继承两个交互者。
  • 创建FilterItemsInteractor并传递LoadItemsInteractorLoadItemsByIdInteractor执行结果(来自演示者或具体交互者内部)。

实施此方法的最简洁方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以将两个交互器统一在一个中,并通过过滤器发送id和要过滤的其余对象以将其发送到存储库,从而节省重复的代码。最后,loadItems是用例,byId是一个过滤器,它将id添加到过滤器并将交互器统一为一个。

答案 1 :(得分:0)

来自某个数据存储的某些东西的普通加载属于接口适配器的圈子,通常称为存储库。适用于加载数据的所有逻辑属于Interactor。如前所述,如果不违反SRP,Interactor可以有多种方法。