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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.11.2008, 18:38
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 1  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Arrow Как делать ветвление структуры в MVC?

Есть Document Class, в котором размещён код прелоадера. После загрузки создаётся класс Main, в конструкторе которого инициализируются модель, вью и контроллер. Контроллеру говорим грузить данные. Он говорит модели перейти в состояние "загрузка данных" и начинает грузить данные. Вью, получив от модели событие изменения состояния, показывает что грузятся данные.

Данные загрузились. Говорим модели перейти в основное состояние, она говорит об этом вью. А вот дальше...

Сайт имеет несколько модулей: для показа текста, для показа фоток итд. Каждый модуль так же грузит данные для своих нужд. В общем появляется понятие модуля.

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

Итак, ситуация: всё загрузилось, в контроллер пришло событие что нужно показывать такой-то модуль.

Что делать дальше? Где должны располагаться модель, вью и контроллер модуля? Должны ли они быть обособлены, или каждая часть должна быть создана как дочерний объект глобальных M, V и С? Как передать им управление? Как организовать общение с главной связкой?
__________________
тонкий тролль, осеянный благодатью

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

Регистрация: Sep 2002
Сообщений: 30,787
Создавайте отдельные MVC-структуры друг в друге, в соответствии с моделью display object на экране.

Старый 08.11.2008, 19:00
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 3  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
etc, вот я и пытаюсь понять, как запихивать их друг в друга. Что внутри чего должно быть?
__________________
тонкий тролль, осеянный благодатью

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

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

Старый 08.11.2008, 19:19
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 5  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Спасибо, буду пробовать и спрашивать вопросы по мере возникновения.
__________________
тонкий тролль, осеянный благодатью

Старый 08.11.2008, 22:39
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 6  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
__etc, а можно ли делать дочернее MVC полностью внутри вьювера?
Вот, например, у меня есть какой-нибудь хитрый контроллер-компонента, сделанный по принципу MVC, и я им хочу заменить стандартную кнопку. Он работает и без родительской модели автономно в принципе. Зачем его внутреннюю модель выносить наружу?


Последний раз редактировалось s8000_1; 08.11.2008 в 22:46.
Старый 08.11.2008, 23:01
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

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

Старый 08.11.2008, 23:30
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 8  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
__etc, разверну...

Есть визуальная AS3-компонента (типа DataGrid и т. п.) с понятным и логичным внешним интерфейсом. Но взаимодействие составных частей внутри компоненты устроено по принципу MVC: своя модель, свой внутренний контроллер и свое представление.

Я хочу эту компоненту прилепить к большому приложению (его представлению).
Получится, что MVC-компонента находится внутри представления другого MVC-большого приложения.

Это разве не правильно?

Старый 09.11.2008, 03:33
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 9  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
s8000_1, ваще, если быть честным с общественностью, то DataGrid это чистый вьювер. ведь данные вы ему отдельно кормите? конечно всё зависит от реализации, но по идеологии он должен быть вьювером.

Старый 09.11.2008, 04:07
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 10  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
BlooDHounD, так я как пример привел. Можно ведь соорудить гораздо более сложный компонент, для которого удобнее использовать внутри MVC (10 DataGrid'ов, 20 кнопочек и все это хитрым способом взаимодействует).

Поэтому я не совсем понимаю что значит "модель в модели".

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

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

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


 


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


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