用于显示的Diff逻辑,Interactor或Presenter?

时间:2016-04-04 01:26:15

标签: ios uitableview architecture react-native

考虑来自Bob叔叔的Clean Architecture,用于计算UI变化的差异逻辑应该在演示者还是在Interactor中? 我会更具体:(我更习惯iOS,所以我会用它作为例子)

假设您正在UITableView中显示消息,当新消息到达时,您将其添加到数据源数组并在UITableView中插入一行(我们绝对不想重新加载整个表视图并制作用户滚动回到最后一条消息。)

选项1:用户界面中的逻辑

交互者将发送更新的消息列表(所有消息,而不仅仅是到达的消息),并且演示者将在当前数据源数组和新消息数组之间进行区分,然后决定在视图上执行哪些操作(如果收到消息,则插入行,如果消息被删除则删除行,如果消息改变状态,则重新加载行)(非常像React)。

选项2:交互者中的逻辑

将该逻辑移至Interactor,并在Presenter中使用多个委托方法(didUpdateMessage,didDeleteMessage,didReceiveMessage)。

由于它是一些可以共享的逻辑,我最初的想法是把它放在Interactor中,但是因为我看过React,它让我觉得在Presenter中有这个很好(如果我决定使用React Native而不是Native native,如果选择选项1,逻辑就不会改变。

这里的正确方法是什么(正确的意思是我甚至假设我没有使用过React Native)?

0 个答案:

没有答案