Dev*_*Dev 1 singleton cocoa-touch design-patterns ios
我的iOS应用程序对Web服务提出了很多不同的请求.每个请求都是对ConnectionManager对象的方法的调用.当响应从Web服务到达时,调用委托的方法来通知感兴趣的接收者.此外,为了保持会话活动,需要每X秒轮询一次.
这么说,在你看来,如果ConnectionManager是一个Singleton,它会更好吗?
单例更简单(因为我不必将ConnectionManager的引用传递给所有需要向Web服务请求的人,或者我不必创建更多的ConnectionManagers).而且,很容易处理轮询问题:我只需在ConnectionManager上添加两个方法startPolling和stopPolling.但是我不喜欢使用带有单例的委托(因为只有一个委托,如果没有一个集合时响应就会发生什么?)同时我不喜欢使用通知.我也不喜欢单身人士:)
你对替代模式有什么建议吗?
我和你一样经历了类似的思考,最终得到了这种模式:
ConnectionManager [singleton] - 负责维护与服务器的连接并提交和接收请求
ConnectionQueue [singleton] - 存储一堆等待完成的请求
请求 - 每次从服务器需要某些内容时创建.它包含所有请求数据(url,params等)和对委托的引用.
响应 - 从服务器检索的数据的容器以及原始请求.
将它们连在一起......
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |