我有一个关于 MVC 的非常普遍的问题。我有一个应用程序,它使用标签栏控制器来显示来自网络服务的不同类型的数据。
我有一个“模型”类,它完成所有脏活,比如获取数据并修改它以进行演示,但我在每个 MVC 中都实例化了该类。这就是问题所在。例如,应用程序的两个选项卡是销售和评论。当应用程序启动时,我希望它获取并显示销售,如果有新评论,还获取评论并在评论选项卡上放置一个徽章。
该获取过程涉及从 Web 服务中提取数据、将其存储到核心数据、从缓存中提取、比较等。当用户点击评论时,它会变得很难看,但他们仍在“销售”选项卡中获取数据(仅用于该徽章)。当评论出现时,Sales MVC 已经死了,我不能告诉它任何事情来防止它搞砸。
我的问题是,如何使“大脑”类独立于 MVC?这意味着我不想为每个 MVC 拥有一个大脑(这没有任何意义),但对所有 MVC 只拥有一个大脑并使用委托来推送数据和徽章之类的东西?我曾考虑将 UITabBarController 子类化并将大脑类放在那里,但我不确定这样做是否是一个好习惯。
有什么想法吗?