我正在构建一个具有中心类M的iPhone应用程序,它可以从Web API获取大量数据。每当此类获取数据时,它必须更新两个控制器,例如A和B.为了支持这一点,A和B都列在具有更新命令的接口下。 A和B也需要能够查询M类数据,所以我在A和B中都添加了一个句柄。
问题是设置不是很模块化。我正在寻找清理设计的方法。
编辑 - 此外,M类没有任何先入为主的概念,即A类和B类的确切类型。
感谢。
答案 0 :(得分:0)
就像你提出的标题一样:使用 observer 模式。 A
和B
是观察者(实现观察者协议)到M
,这是主题。更新观察者时,还可以通过update方法提供事件数据,也可以作为M
实现的主题协议的句柄。这样,A
和B
通过观察者和主题协议与M
分离。