![]() |
Мне вот интересно, сколько ж это кода было написано просто ради реализации MVC как на первой картинке? Формирование всех этих эвентов, подписывание на события, обработка всей этой тучи всплывающих событий. Я так прикинул, если эвент проходит откуда-то снизу наверх, то в него надо и данные пихать. И для каждого эвента они свои и со своей структурой. А это всё код, код и код...
У меня вот нет mvc, у меня просто логика и отображение и обе части хранят ссылки друг на друга (там где необходимо, а часто просто вьюшка на модель). В итоге - не надо в эвентах передавать ничего, просто сигнализировать о событии. И самих событий тоже немного. В общем вопрос: стоило ли вообще такую огромную структуру делать, какие накладные расходы получились и какие плюшки это дало? |
Цитата:
Цитата:
|
Неа, тут зависит от условий:
1 есть многоуровневая иерархия = надо передавать данные. 2 есть одноуровневая связь логика-вьюшка = достаточно передавать только сигнал. |
Цитата:
|
Это 2 разных подхода. Push и Pull.
|
И в данном случае между ними не стоит вопрос "надо".
|
Цитата:
Pull-подход не переношу на генетическом уровне. |
Это push
|
у меня возник вопрос по схеме, каким образом из вьюшки самого нижнего уровня передаются данные в модель для этой вьюшки, то есть понятно что бабблим событие в верхнюю вьюшку, которая диспатчит событие контроллеру, тот в свою очередь говорит модели менять данные в модели для этой вьюшки, но как главная модель поймет какую внутреннюю модель менять, ведь мелких вьюшек может быть сколько угодно.
Чтобы было понятней: вьюшки нижнего уровня у меня это параментры для фильтра, при изменении одного из них нужно переписать в модели этого компонента данные. |
Вьюшка диспатчит событие, которое обрабатывает соответствующий контроллер, который, в свою очередь, вызывает нужный метод соответствующей модели. Выше этой троицы без особой надобности никто ничего о происходящем не узнает.
|
| Часовой пояс GMT +4, время: 19:17. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.