![]() |
|
||||||||||
|
|
|
|||||
|
Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Так принято. Не надо подписчику иметь импорт диспетчера (если ты там определяешь константы)
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 27.12.2011 в 02:08. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ах да, я забыл, ещё такие события не всегда отсылает единственный диспетчер.
|
|
|||||
|
Цитата:
разделение связей между объектами? Вроде бы так вообще легко потерять контроль над взаимосвязями объектов в программе. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Глобальный — зло. Через него кто хочет и как хочет шлёт, в итоге отледить, что и откуда, невозможно.
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Но многие таки используют. См. Spring и EventBus.
__________________
Отряд Котовскага |
|
|||||
|
Здравствуйте. Если подобное уже здесь обсуждалось, приношу извинения, ибо после 10 страниц чтения топика - перестал понимать о чем идет речь.
И так вопрос. Контроллер обработал некую информацию. В соответствии с этой информацией нужно провести изменения в представлении. Но дело в том, что эти изменения модели не касаются. Что делать? Напрашиваются такие варианты: 1. В контроллере есть же ссылка на представление, значит мы можем вызвать метод этой вьюшки прямо из контроллера. Но речь идет об "Хорошее MVC", согласно которому контроллер не должен изменять представление. 2. Через модель диспатчить событие, и ловить його в представлении. С точки зрения MVC - это хорошо, но с точки зрения программирования - корове седло. Зачем лишний посредник (модель) в этом случае? Как грамотнее поступить?
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
|
То что контроллер обрабатывает информаию уже не совсем академический мвц. Логика должна быть в модели если так чтоб совсем правильно.
Но у меня тоже мозг в контроллере ![]() И если контроллер обрабатывает нечто что важно для вью - значит нужно это нечто выносить в модель, а дальше уже модель по накатанной схеме диспатчит что мол: "я поменялась отрендерись там" во вьюху. Это если в общем, хотя ситуации разные бывают. Лучше конкретный пример приведи.
__________________
Кто к нам с чем для чего - тот у нас того от того. Последний раз редактировалось Dukobpa3; 15.01.2012 в 21:23. |
|
|||||
|
Конкретный пример: Игра, изометрический плиточный мир, разные юниты в этом мире... Это все в контейнере - вьюхе. Контролер получает известие от одного юнита, что этот юнит переместился на другую плитку. Значит надо передать вьюхе что нужно отсортировать экранные обьекты. В модели есть массив этих экранных обьектов. Но в ней нигде нет информации на каком уровне глубины в дисплей-листе эти обьекты расположены. Значит в модели нечего менять, так как ей до фонаря как эти обьекты расположены по глубинам, на ход игры это не влияет. Контроллеру тоже до фонаря - его интересуют лишь x, y и пр. свойства. Единственный кому не наплевать - это представление, так как оно беспокоется о том чтобы пользователь правильно воспринимал происходящее.
Добавлено через 3 минуты Но если модель будет и хранить данные и обрабатывать их - зачем тогда нужен вообще контролер? Просто чтобы быть ненужным посредником между моделью и вьюхой?
__________________
Я мало чего умею, но зато хорошо умею учиться... |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|