【发布时间】:2011-05-05 10:17:01
【问题描述】:
我的 iOS 应用程序向 Web 服务发出许多不同的请求。每个请求都是对 ConnectionManager 对象的方法的调用。当响应从 Web 服务到达时,将调用委托的方法来通知感兴趣的接收者。此外,为了保持会话处于活动状态,需要每 X 秒进行一次轮询。
这么说,您认为ConnectionManager 是否是Singleton 更好?
单例更简单(因为我不必将 ConnectionManager 的引用传递给所有需要向 Web 服务发出请求的人,或者我不必创建更多 ConnectionManager)。此外,轮询问题也很容易处理:我只是在 ConnectionManager 上添加了两个方法 startPolling 和 stopPolling。但是我不喜欢将代表与单例一起使用(因为只能有一个代表,如果没有一个集合时出现响应会发生什么?)同时我不喜欢使用通知。我也不喜欢单例:)
您对替代模式有什么建议吗?
【问题讨论】:
标签: cocoa-touch ios design-patterns singleton