过滤交互器结果的最干净的方法

The cleanest way of filtering Interactors result

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

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

最简洁的实现方式是什么?

你可以将这两个interactor统一为一个,通过filter把id和其他你要过滤的对象发送到repository,这样就省去了你重复的代码。最后loadItems是use case,byId是filter,将id加到filter中,将interactor统一为一个。

从某个数据存储中简单加载某些内容属于接口适配器的范畴,通常称为存储库。您应用于加载数据的所有逻辑都属于交互器。如前所述,如果不违反 SRP,交互器可以有多种方法。