所以我一直在阅读关于使用Singleton的优点和缺点,并且我有一个场景,我不确定我是否应该使用一个,并且我想过咨询你们。我应该使用singleton - Http连接到服务器 - Iphone应用程序设计
我正在编写一个Iphone应用程序,它偶尔必须与服务器(HTTP)有关登录用户的信息进行通信。 此Web服务正从我的应用程序的不同部分调用。
我真正需要的是2型类:
- 负责与服务器的通信 - 负责HTTP设置,URL,标题,参数等
2.classes针对每种类型的Web服务api - 用于Expectle UpdateUserInfo类或SendResults类。这第二类将使用第一,并通过应用程序,我需要许多calles到第二类。
我应该将Singleton用于任何一个论文吗?设计它的最佳方式是什么?
谢谢你们!
编辑:
例为第1类(我们称之为DataDownloader)的方法是:
(NSData *) downloadDataWithRequest:(NSURLRequest *)
{
ASIHTTPRequest *dlRequest = [[ASIHTTPRequest alloc] initWithURL:[request URL]];
[dlRequest setTimeOutSeconds:20];
if(retryNum < 1)
retryNum = 1;
[dlRequest setNumberOfTimesToRetryOnTimeout:retryNum];
// and more of the same
}
ASIHTTPRequest是我们使用一个HTTP包装的东西。
现在我不想调用这个函数序列,每次我想发送一个HTTP请求的服务器,所以这个选项将把它放在一个专门的类中,并创建一个新的实例,或使用一个单一的。
我可以举例来说要做的就是使用类似的东西:
[[UpdateUserInfo sharedInstance] updateInfo:info]
可以通过使用帕拉姆信息建立的NSURLRequest,并呼吁
[[DataDownloader sharedInstance] downloadDataWithRequest:InfoUrlRequest]
现在,假设实现http请求是异步的,我仍然可以同时产生多个。
我希望现在更清楚。 您认为最好的设计方法是什么?
请参阅我的编辑。谢谢 – Idan 2010-12-12 20:07:21