Должен ли я указать прокси в Модели или Магазине? - PullRequest
0 голосов
/ 12 октября 2011

Я относительно новичок в кроссплатформенной разработке для мобильных устройств, и недавно я прошел несколько основных уроков по использованию Sencha Touch в моем приложении.Меня смутило то, что мне кажется несогласованным в их методологии.Итак, вот мой вопрос:

Я использую шаблон проектирования MVC.При определении прокси для хранения данных в приложении, я должен сделать это в модели или в магазине?Я видел, как сделано, и не уверен, что лучше, или случаи, когда каждый должен быть использован.Ниже приведены примеры того, что я имею в виду:

Прокси, определенный в Store :

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'
    }
});

1 Ответ

4 голосов
/ 12 октября 2011

Они оставляют это на ваше усмотрение, потому что это решение о реализации.Удобство привязки его к модели диктует тесные отношения один к одному.

В ExtJS 3.3.1 и ниже прокси всегда был привязан к магазину.Лишь в Sencha Touch и ExtJS 4 они позволили вам напрямую связать модель.

Лучшая причина, по которой я могу связать ее с моделью, - это сохранить ее автономность.

Определение прокси непосредственно на модели - это новый подход в версии 4 - его главное преимущество заключается в том, что мы можем легко загружать и сохранять данные модели без создания Магазина, как мы это делали в ExtJS 3.

Редактировать

Извините, если я был немного на высоком уровне с моим объяснением.

Представьте себе Store какКоллекция моделей .

Магазин может быть осведомлен о том, как заполнять эти модели, используя прокси, определенный для магазина. Или Модель, возможно, уже знает, как заполнить себя, определив вместо нее прокси-сервер.

Пожалуйста, дайте мне знать, если я недостаточно хорошо разъяснил.:)

...