Я пытался научиться работать с моделями и магазинами. Но прокси-бит меня очень запутывает. Поэтому я собираюсь перечислить свое понимание здесь - просьба указать на пробелы в моем понимании.
Мое понимание
- Модели используются для представления объектов домена.
- Модели могут быть созданы ModelManager или просто с помощью конструктора
- Модели сохраняются в магазинах
- Магазины могут храниться в памяти или быть серверами. Это настроено с использованием прокси.
- Прокси сообщает магазину, как разговаривать с хранилищем резервных копий - будь то массив JSON или ресурс REST, или просто настроенный URL-адрес через ajax.
- Магазины несут ответственность за хранение моделей, и Proxies несут ответственность за контроль/помощь в выполнении этой задачи.
- При изменении значений модели флаг
dirty
устанавливается. Он автоматически очищается, когда модель сохраняется. (подробнее об этом позже)
Часть, которая меня смущает
- Почему существует метод
proxy
config иsave
на модели? Я понимаю, что модели можно хранить только в магазинах. - Почему флаг
dirty
не удаляется просто, когда я добавляю объект модели в хранилище? - Когда я добавляю объект модели в хранилище, почему модель не получает прокси-сервер, настроенный с этим хранилищем?
-
proxy
- статическая конфигурация для модели. Означает ли это, что мы не можем использовать объекты конкретной модели с несколькими источниками данных? Посредством расширения, означает ли это, что наличие нескольких магазинов для одной модели практически бесполезно? - Когда мы определяем хранилище, определяем ли мы класс (тип хранилища, если можно так назвать), или это экземпляр магазина? Причина, о которой я спрашиваю, когда мы объявляем сетку, мы просто передаем ей конфигурацию хранилища как
store: 'MyApp.store.MyStore'
- сетка создает сетку такого типа или просто использует уже созданный нами магазин?
Спасибо!
PS: +50 щедрость человеку, который объясняет все это:) - предложит награду после тех 48 часов.