我们有一个类,用于保存应用程序的配置信息.它曾经是一个单身人士.经过一些建筑评论后,我们被告知要删除单身人士.我们确实看到了在单元测试中不使用单例的一些好处,因为我们可以同时测试不同的配置.
如果没有单例,我们必须在代码中的任何地方传递实例.它变得如此混乱,所以我们编写了一个单独的包装器.现在我们将相同的代码移植到PHP和.NET,我想知道是否有更好的模式我们可以用于配置对象.
我的iOS应用程序对Web服务提出了很多不同的请求.每个请求都是对ConnectionManager对象的方法的调用.当响应从Web服务到达时,调用委托的方法来通知感兴趣的接收者.此外,为了保持会话活动,需要每X秒轮询一次.
这么说,在你看来,如果ConnectionManager是一个Singleton,它会更好吗?
单例更简单(因为我不必将ConnectionManager的引用传递给所有需要向Web服务请求的人,或者我不必创建更多的ConnectionManagers).而且,很容易处理轮询问题:我只需在ConnectionManager上添加两个方法startPolling和stopPolling.但是我不喜欢使用带有单例的委托(因为只有一个委托,如果没有一个集合时响应就会发生什么?)同时我不喜欢使用通知.我也不喜欢单身人士:)
你对替代模式有什么建议吗?