我的应用程序执行了一些关于公司估值的相当复杂的计算。它从多个来源获取原始数据(例如,来自存储为 csv 数据和基本数据存储为 xml 数据的 Web 服务的股价)。
获取数据后,应用程序解析数据,将其存储在 Core Data 中并执行计算。计算结果也存储在核心数据中。
我目前的方法是将计算作为类别添加到公司(托管)对象中,并将 csv 和 xml 数据作为类别添加到数据对象中(图中未显示)。与网络相关的代码位于单独的单例对象中(如书中建议的那样:iOS Programming: The Big Nerd Ranch Guide, 3rd Edition)。
问题:
由于网络通信和计算是相互依赖的(即某些计算只有在接收到特定的数据包后才能开始),并且我想使用多线程,我最终在视图控制器中编写了相当多的代码。
我相信我应该按照中介者模式的想法使用一个协调器对象,并将我的视图控制器从协调相关的代码中解放出来。
您对此有何看法?
- 在您看来,调解器模式(协调器对象)是正确的方法吗?
- 您建议如何设置协调器对象?
- 网络上或书中是否有关于此主题的任何好的教程或示例?
谢谢!