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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.10.2014, 01:26
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 11  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Цитата:
Только вот спрашиваю я про другое.
Вот неэтично задавать такие провокационные вопросы профессионалам
Но я как малоопытный возьму на себя все тяжкую ношу ответа, а уж пусть опытные меня критикуют,
так будет легче диалог наладить)))
Во первых - есть много всяких mvc и это не только чьё-то личное предпочтение, это уже от вида приложения зависит.
Если Вы делаете чисто akti приложение, то это одно mvc - назовем его нубское, так как все фигуранты помещены во вью, чем и является flash по своей сути. Лично я при такой схеме делаю главную вью, главную модель и главный контроллер. И вот главная модель, где заключена логика приложения, диспатчит событие, что нужно переключить вью одной локации на другую. Главная вью лезет в модель и берет ссылку на модель и передает её во вью-чилд при создании. И так далее.
А второй вариант, это когда flash это вью, модель сервер... И тут уже не работает стандартная модель, так как появляются медиаторы и маленькие контроллеры, а модели ( не серверная ) собираются на лету в специальном месте и передаются там же во вью взятым из фабрик. И все это делается по заранее написанным конфигам и так далее...

Старый 14.10.2014, 11:41
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 12  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Продумайте и постройте сначала архитектуру приложения, а уже потом пишите код. Я обычно проектирую записывая ее в виде XML файла, но JSON лучше при реализации. Затем Вы траверсите JSON, связывайте ноды моделей с классами вью или контроллеров, в контроллерах происходит коммуникация между отдельными компонентами MVC, посредством передачи своей ноды данных . Разумно сразу продумывать всё на парадигме интерфейсов и фабрик. Это минимизирует структуру и сам код. Используйте общий объект глобально доступный для всех частей вашего MVC, что-то типа $scope в AngularJS.

Старый 14.10.2014, 11:52
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 13  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
небольшой оффтоп. С утра, перечитав, понял, что обязан извиниться за опечатки )
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 14.10.2014, 13:15
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 14  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
cleptoman 1 - пусть каждый вью слушает свою модель..не обязательно таскать все модели на все случаи жизни в одной главной модели...одна (главная модель) просто фигурирует в большинстве примеров описывающих классическое мэвэвцэ.
Какой в этом плюс ? Если у нас 3-4 вью, - да. А если их много? И половине из них нужны разные модели и т.п. Тоесть архитектура не совсем уж маленькая?! BaseModel - обязан быть. А будешь ли ты его пихать на все случаи жизни, или же держать каждый отдельно - дело ваше. Но тут палка о двух концах, и тут как раз моя любимая *как два программиста хлеб пекли* - может получится.
__________________
Марк Tween

Старый 14.10.2014, 13:41
Cybo вне форума Посмотреть профиль Отправить личное сообщение для Cybo Найти все сообщения от Cybo
  № 15  
Ответить с цитированием
Cybo

Регистрация: Nov 2001
Адрес: Казань
Сообщений: 118
Тема жевана-пережевана. svdsLis, вы можете сделать как вам нравиться, но эмпирическим путём доказано, что в большинстве случаев, вьюшке удобнее слушать изменения модели. Представьте, что вам нужно отображать некую величину в текстовом, индикаторном (например, линейка здоровья) и графическом (вид зависит от значения величины) виде? Вместо того, чтобы контроллеру вызывать цепочки методов дочерних контроллеров, каждому виду лучше подписаться на события модели и обновляться.

1 - лучше сделать бабл. Бабл - удобно.
2 - пишите свои события. Если ваша модель имеет много изменяемых свойств, то удобнее диспатчить изменения отдельного свойства.

Старый 14.10.2014, 13:46
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 16  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Cybo, может тема и пережевана, но каждым по-своему. Поэтому имеет смысл прожевать ещё.
Цитата:
События модели
- сильно сказано. Свежо, ноне правильно.

Старый 14.10.2014, 13:56
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 17  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Babylon++
Цитата:
1 - лучше сделать бабл. Бабл - удобно.
Стоит только добавить, что у НЕ ДО баблинга нет и врятли его делать стоит.

Добавлено через 56 секунд
Цитата:
Тема жевана-пережевана.
Она всегда на этом месте останавливается.

Старый 15.10.2014, 18:28
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 18  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
Код AS3:
- сильно сказано. Свежо, ноне правильно.
а что тут не так?
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 16.10.2014, 02:33
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 19  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Какие у модели события?

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

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от svdsLis Посмотреть сообщение
- в каждую под-модель передавать GlobalModel и из неё вызывать диспетчерезацию?
Нет. Каждая модель сама посылает свои события. Все кому нужно, могут слушать эти события, подписавшись на них непосредственно в этой конкретной модели.
Или:
Цитата:
Сообщение от svdsLis Посмотреть сообщение
- или делать bubble (но это не удобно)
И это очень даже удобно. Другое дело, что мастерить "всплывание" тупо лень (каюсь, я сам до этого так и не дошел, подписываю вьюхи и контроллеры непосредственно на нужные им модели).

Цитата:
Сообщение от svdsLis Посмотреть сообщение
- использовать только одно событие "Event.CHANGE" или создавать для этого свои классы событий
По месту смотреть надо. Порой и вовсе без событий можно (нужно) обойтись. Ну, например, если у тебя в разных местах логики меняются, скажем, x, y и state. Если это, например, моделька юнита в игре про атаку клонов ) то тулить каждой вьюхе каждого отдельного юнита ТРИ события, которые меняют ее отображение ТРИ раза целиком (если это просто CHANGE, мы же не знаем, что поменялось) или по частям (если заморочиться и накатать таки CHANGE_X, CHANGE_Y, CHANGE_STATE), это не есть хорошо. Тут лучше и вовсе обойтись без событий. Достаточно просто каждой вьюхе отдельного юнита по своему ентерфрейму, или даже из одного родительского ентерфрейма в цикле вызывая метод redraw или update (или как там еще) у каждого юнита, перерисоваться ОДИН раз. Если нужно, можно даже инвалидаторы (так вроде называются) притулить в модель. Это такие булевы переменные, которые указывают, поменялось ли что-то с тех пор, как последний раз интересовались. Ну это если таки да нужно не делать холостых ходов. Например не годится постоянно менять отображение юнита на то же самое (это порой сопряжено с add/removeChild или переключением видимости и все такое).
__________________
Поймай яблоко 2!

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

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

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


 


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


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