|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
|
Кеширование данных в XML или поиск по объектам?
Привет.
Делаю многостраничное приложения. Для управления страницами есть менеджер. В менеджере хранится массив со всеми страницами. Страницы могут находиться в разных состояниях, например, Active, Blocked, TransitionIn и т.п. Когда нужно сменить страницу, менеджер проверяет открыта ли уже страница. В прошлый раз я сделал в менеджере отдельную переменную _activeScreen, в которую клал активную страницу. Это накладывает свои ограничения: потом мне пришлось сделать переменную _waitingScreen, _newScreen и выглядело все это довольно уныло. Теперь я решил проверять непосредственно статусы экранов. И вот вопрос, как лучше сделать. Возьмем тот же метод getActiveScreen. Вариант 1: пробежаться по всем страницам, и если есть активная, вернуть ее. Вариант 2: хранить в менеджере кэш страниц (я склоняюсь к xml), в атрибутах можно хранить статус и обновлять его, когда надо. Тогда для поиска активной страницы нужно будет просто вынуть элемент с нужным значением атрибута. Посоветуйте, на каком варианте остановиться? |
|
|||||
Регистрация: Jun 2007
Сообщений: 374
|
Очень смутно понял, что Вы написали. Но я для себя придумал довольно простую систему, как управлять страницами:
- каждая страница характеризуется адресом типа "/cat/scat/page1/page"; - все ссылки и кнопки сменяют эти адреса, используя bubbling события; - контроллер страниц парсит адрес (регулярные выражения) и производит какие-либо действия. Например, страница "/module1/param1/param2/module2/param1". Контроллер страницы открывает в текущем окне модуль с именем module2 и передает ему param1, а в кнопку "назад" в GUI пишет ссылку "/module1/param1/param2". Если нужны промежуточные экраны, то никто не мешает сделать страницы типа "/module1/waiting", "/module1/loading", которые будут открывать соответствующие модули в нужных состояниях. По окончанию загрузки становится "/module1/active" и т. п. Я много разных структур перепробовал, но эта оказалась наиболее гибкая, простая и очень удобная с точки зрения открывания новых страниц флэшки из текстовых полей. |
|
|||||
Регистрация: Dec 2005
Адрес: Санкт-Петербург
Сообщений: 24
|
s8000_1,
а если нужно перед открытием новой страницы закрыть предыдущую, то что делает контроллер? он хранит ссылку на активную страницу, или еще как-то? |
|
|||||
Регистрация: Jun 2007
Сообщений: 374
|
Ну, можно сказать и так.
Есть контейнер, у него есть свойство source. Контроллер меняет это свойство. В сеттере source можно как угодно прописывать смену страниц с любыми анимациями. И переопределяю addChild и removeChild в контейнере, чтобы оно добавляло и убирало объекты с какой-нибудь анимацией. |
Часовой пояс GMT +4, время: 13:05. |
|
« Предыдущая тема | Следующая тема » |
Теги |
xml , кэширование , объект |
Опции темы | |
Опции просмотра | |
|
|