Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.09.2010, 15:04
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 121  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Вот именно тут я что-то не могу собраться вкучу.
Как именно контроллер запросит загрузку и у кого?
или даже так:
Кто и как зарегистрирует эту модель в APIController и кто и как будет просить данные для модели?

Сорри, если туплю ) надо разобраться.
__________________
Поймай яблоко 2!

Старый 10.09.2010, 15:09
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 122  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Дочерний контроллер просит основной загрузить данные. Тот в свою очередь дергает APIController и просит загрузить то-то. Он загружает, отдает основному полусырые данные. На основе оных основной контроллер заполняет модель. Дочерний контроллер слушает модель и видит там данные. Всё, процесс завершен.

Старый 10.09.2010, 15:35
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 123  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от etc Посмотреть сообщение
На основе оных основной контроллер заполняет модель
Во! Вот это место.
Как основной контроллер знает, какую модель заполнять данными?
Все модели зарегистрированы в нем, или он получает ссылку на конкретную модель при запросе на загрузку от MenubarController?
__________________
Поймай яблоко 2!

Старый 10.09.2010, 15:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 124  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
У него есть ссылки на все модели.

Старый 10.09.2010, 15:41
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 125  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Так. А про какую модель идет речь сейчас — как узнает?
__________________
Поймай яблоко 2!

Старый 10.09.2010, 15:48
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 126  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Непосредственно по вызываемому методу. Нужно уйти от абстрактного запроса данных к совершенно конкретному. Если контроллер хочет данные по меню, то APIController должен составить соответствующий реквест и идентифицировать приходящие данные по нему же. При получении данных вызвать соответствующий метод основного контроллера (если таковой в нём есть).

Старый 10.09.2010, 16:18
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 127  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
ага. теперь понял. вроде.

APIController — большой класс для работы с разными API. Имеет метод request(query:String, ... args);

MainController — основной класс. Имеет среди прочих публичные методы loadMainMenu(), loadFriends(user_id:int), loadPhotos(album_id:int) и т.д. Каждый метод формирует правильный запрос и по факту загрузки сам раскидывает данные по заведомо определенным для каждого метода моделям.

MenubarController — контроллер основного меню, который в частности вызывает метод MainController#loadMainMenu(), который сам выложит данные в MenubarModel по факту загрузки.

так?
__________________
Поймай яблоко 2!

Старый 10.09.2010, 16:25
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 128  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Да, так. Можно, конечно, попросить APIController сделать что-нибудь в обход основного, но запрашивающий контроллер не является его клиентом.

Старый 10.09.2010, 16:57
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 129  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
etc, спасибо! стало понятно, что я совсем не вкурил в само дерево проекта.

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

Как я понимаю каждая ветвь (контроллеры, модели, виды) должна быть древовидной и расти с помощью чего-то наподобие addChild.

В частности аналогом stage для любого контроллера должен выступать mainController (чтобы мы могли запрашивать его).

Если так, то в самом начале mainController еще не знает о еще не созданном friendsListModel, который будет ждать данных, когда friendsListController вызовет mainController.loadFriends(user_id), потому что вся эта тройка будет создана (может быть) если пользователь выберет соотв. пункт меню.

Разумеется при добавлении (addChild) модели можно событиями сообщить наверх вплоть до mainController, что появился новый ребенок-модель. Но как mainController поймет, что с ним делать дальше? Ну что именно сюда мы будем передавать список друзей, а сюда — список фоток и т.д. Интерфейс?
__________________
Поймай яблоко 2!

Старый 10.09.2010, 17:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 130  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Список друзей принадлежит текущему пользователю. Изначально он пуст. Основной контроллер прекрасно знает о текущем пользователе и его списке друзей. Если запрашивается список друзей другого пользователя, то как минимум должен быть идентификатор этого пользователя в ответе, поэтому, опять же, нет проблемы взять нужного пользователя из модели и отдать ему друзей в основном контроллере.

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.