所以我一直在閱讀關於使用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