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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.10.2014, 20:23
svdsLis вне форума Посмотреть профиль Отправить личное сообщение для svdsLis Найти все сообщения от svdsLis
  № 1  
Ответить с цитированием
svdsLis

Регистрация: May 2013
Сообщений: 18
Question Вопрос про MVC

Всем здравствуйте. Сейчас изучаю MVC шаблон (парадигму) и столкнулся с некоторым не понимаем.

Вопрос №1: Допустим в главной модели (GlobalModel) есть ещё 2 (CharacterModel, LocationModel). И изменилась одна из под-моделей. Как правильно осуществить диспетчеризацию?
- в каждую под-модель передавать GlobalModel и из неё вызывать диспетчерезацию?
- или делать bubble (но это не удобно)

Вопрос №2: Как правильно диспетчирезировать события изменения модели?
- использовать только одно событие "Event.CHANGE" или создавать для этого свои классы событий

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Если не используете специализированных фреймворков:
1) Как вам удобнее. Разве не контроллер должен дергать вьюхи, рассказывая, что изменилась моделька? Модель же изменяется контроллером?
2) Как вам удобнее.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Aug 2014
Сообщений: 461
Цитата:
Разве не контроллер должен дергать вьюхи, рассказывая, что изменилась моделька?
У меня индикатор здоровья робота, выраженный во вью, как ряд из трех лампочек, от зеленого к красному с желтым в середине. Модель создана только посылать событие, что одна жизнь исчерпана. Вопрос - как контроллер узнает какую лампочку ему включить?

Добавлено через 2 минуты
Хотя я наверно не правильно понял Ваши слова. Когда я прочел Ваши слова, то в голове нарисовалась картинка из слов сказанных не Вами, но гласящих, что контроллер включает нужную вью.

Добавлено через 2 минуты
Вы случаем не об этом?)

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

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

Старый 13.10.2014, 21:55
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 5  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
Вы случаем не об этом?)
Я не знаю, я с мвц даже не "на вы", а на "здравствуйте, как вас зовут?".
Но у меня в голове контроллер связывает данные и вьюхи. Соответственно следит, что модель изменилась и говорит вьюхам - отобразите. Ну и сам конечно меняет модель (данными с сервера, например). Конечно бывают исключения, когда из вьюхи быстрее узнать, что модель изменилась. Короче я не за строгое соблюдение парадигм (и табу хехе).

То есть, если робота ударили, то об этом узнает контроллер, он пишет в модель новое состояние, и говорит аватару робота - обнови инфу из модели.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: May 2013
Сообщений: 18
Правильно ли я понимаю, что код вроде этого, должен находиться в модели:
Код AS3:
var count:uint;
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.Timer, onTimer);
 
function onTimer(e:TimerEvent):Void
{
count++;
}
А в контроле должно быть:
Код AS3:
model.timer.start();
Тобишь контролер должен/может заставить модель само измениться?

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

Регистрация: Aug 2014
Сообщений: 461
Цитата:
2 в вашем случае контроллер может сказать модели сколько у нее осталось жизней..вьюха слушает изменение ХП из модели и сама принимает решение сколько лампочек ей зажечь.
С Вами я согласен, мне просто очень интересно мнение GBee, если же он конечно придерживается концепции, где контроллер решает, какую вью нужно включать. В последнее время я все чаще слышу о том, что контроллер должен выбирать вид...

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

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

это как на картинках...в жизни все может быть несколько сложней
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 13.10.2014, 22:22
svdsLis вне форума Посмотреть профиль Отправить личное сообщение для svdsLis Найти все сообщения от svdsLis
  № 9  
Ответить с цитированием
svdsLis

Регистрация: May 2013
Сообщений: 18
Цитата:
Сообщение от cleptoman Посмотреть сообщение
ну это мы можем щас тут раздуть много всего. и про декораторы для лампочек и про медиаторы и прочее..
атвору - суть проста:
вьюха - стостоит из трех лампочек ,имеет ссылку на моедль и слушает ее изменение..самостоятельно принимает решение сколько чего и как отобразить в зависимости от изменениях в модели.
контроллер имеет ссылки на модель и вьюху (с последней работает напрямую исходя из контекста употребления и здравого смысла). слушает интерактиыне события вьюхи и меняет модель.

это как на картинках...в жизни все может быть несколько сложней
Только вот спрашиваю я про другое.

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Цитата:
если же он конечно придерживается концепции, где контроллер решает, какую вью нужно включать.
Я придерживаюсь наиболее оптимального решения в каждом конкретном случае. Данные, которые кричат об изменении меня немного напрягают, я вообще немного события не люблю со времен каингорма. Но если так проще, почему бы нет.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

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

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


 


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


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