2011-10-12 65 views
0

我對跨平臺移動開發比較陌生,最近一直在瀏覽一些關於如何在我的應用中使用Sencha Touch的基本教程。在我看來,他們的方法論中的不一致使我感到困惑。所以這裏是我的問題:我應該在模型或商店中指定代理嗎?

我使用的是MVC設計模式。在定義應用程序中存儲數據的代理時,我應該在模型中還是在商店中執行此操作?我已經看到兩者都已經完成,我不確定哪個更好,或者每個應該使用的情況。以下是一些例子我的意思:在模式定義

App.stores.users = new Ext.data.Store({ 
    model: 'User', 
    autoLoad: true, 

    proxy: { 
     type: 'localstorage', 
     id: 'sencha-users' 
    } 
}); 

代理:在商店定義

代理

App.models.User = Ext.regModel('User', { 
    fields: [ 
     { 
      name: 'email', 
      type: 'string' 
     }, { 
      name: 'firstname', 
      type: 'string' 
     }, { 
      name: 'lastname', 
      type: 'string' 
     }, { 
      name: 'password', 
      type: 'string' 
     } 
    ], 

    proxy: { 
     type: 'localstorage', 
     id: 'sencha-users' 
    } 
}); 

回答

4

他們把它留給你,因爲這是一個實施決定。與模型綁定的便利性決定了強大的一對一關係。

在ExtJS 3.3.1及以下版本中,代理服務器始終與商店綁定。直到Sencha Touch和ExtSJ 4,他們才允許您直接與模型綁定。

我能想到的將它與模型聯繫起來的最佳理由是保持它自成一體。

定義代理直接在模型版本的新方法 4 - 它的主要好處是,我們可以很容易地加載和保存模型數據 ,而無需創建一個商店,就像我們在Ext JS的3

編輯

很抱歉,如果我是一個小高層與我的解釋。

想到一個作爲一個模型集合

商店可以通過使用定義到商店的代理來自我意識如何填充這些模型。 模型可能已經知道如何通過定義代理來填充自己。

請讓我知道如果我沒有澄清得不夠好。 :)

相關問題