2010-07-26 22 views
1

我有一個RESTful服務器,需要在Cocoa應用程序中創建客戶端。Cocoa和REST:API細節應該放在模型還是API類中?

我有一個模型叫資源。當我GET /資源時,我的服務器返回JSON中的所有資源。

我有一個模型叫做客戶端擁有許多資源。

客戶有一個實例方法- (NSMutableArray的*)資源

一個NSArrayController管理的資源。第一次調用上述方法時,它會向REST服務器請求客戶端的資源。我的問題是:誰應該創建請求,調度請求,並填充數組:Client類或Resource類(類似於 - (NSMutableArray *)resourcesForClient:(Client *)client)?或者可能都不是,而是有一個API類接收模型名稱和一些過濾器並返回數組?

+0

只是要清楚。上面的客戶是一個客戶,而不是一個ApiClient或類似的東西。 – Alexandre 2010-07-26 18:43:42

回答

0

除非有足夠的理由瞭解資源應該瞭解客戶端,或者與服務器通話,否則最好儘量減少其責任。客戶端擁有一組資源,所以它可以知道資源是什麼,管理資源的請求和管理。

+0

@Time Rupe:只是爲了確保 - 您是否以客戶身份閱讀客戶?這是我的意圖。 – Alexandre 2010-07-26 18:40:56

0

如果客戶端和資源都是業務模型的一部分,我就不會去。據推測,在這種情況下,「客戶」是技術客戶端服務器上的客戶而不是客戶端。

編輯:

你的商業模式應該是所有關於與業務相關的規則和對象。我將從特定的後臺存儲中獲取對象的問題歸類爲不屬於業務模型的部分,這與將類從用戶獲取對象而不是業務模型的一部分的方式很相似。

因此您的「從服務器獲取」API應該是分開的。

+0

正確,客戶是客戶。對不起,混淆了。你會推薦什麼? – Alexandre 2010-07-26 18:40:00

相關問題