Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Ваша реализация MVC (http://www.flasher.ru/forum/showthread.php?t=131588)

Zebestov 07.08.2013 09:58

Цитата:

Сообщение от namespaces (Сообщение 1142851)
"Ваша реализация MVC" - это типа с нуля создать свое с пересозданием существующих известных фреймворков?

Ни один MVC фреймворк не стоит того, чтобы его пересоздавали.

Цитата:

Сообщение от namespaces (Сообщение 1142851)
Кто по вашему будет на это тратить время…

Ты удивишься :)

Цитата:

Сообщение от Isfet (Сообщение 1142855)
1. вью диспатчит "removeMe",
2. его контроллер ловит событие, и вызывает у модели destruct.
3. модель диспатчит верхней модели "removeModel", так как у верхней модели есть ссылка на нее и ссылку надо удалить.
4. также это "removeModel" ловит вью удаляет слушатели и диспатчит событие для верхней вью, чтобы она ее удалила.
5. контроллер удаляет слушатели и диспатчит событие верхнему контроллеру , чтобы он его удалил(есть ссылка).

Почему View дает модели указание на удаление? Это задача логическая, а не творческая — модель должна решать. Модель приложения так или иначе пришла к тому, чтобы вызвать метод destruct() у нашей модельки. В этом методе следует послать событие DESTRUCT, которое поймает отображение, подписанное на события своей модели. Отображение произведет необходимые процедуры очистки на внутреннем уровне и пошлет родительскому отображению событие REMOVE, чтобы оно, в свою очередь, удалило объект со сцены вообще.

dimarik 07.08.2013 11:01

Цитата:

Сообщение от Babylon (Сообщение 1142828)
Интерфейсы нужны чтобы одна часть системы - ваша понимала другую часть, написанную не вами.

Я второй раз настаиваю, что совместная разработка не имеет отношения к интерфейсам. Прочитайте хотя бы на вики что такое интерфейс в парадигме ООП. Найдите там хоть слово о командной разработке! Все уже до вас придумано, не насаждайте окружающим свои ощущения, ошибочно принимаемые вами за знания. Новичкам это вредно, это их запутывает.

Babylon 07.08.2013 12:45

Цитата:

Сообщение от dimarik (Сообщение 1142862)
Я второй раз настаиваю

dimarik, да делайте, что хотите.

Zebestov 07.08.2013 12:56

Babylon, а по делу что-то ответишь?

Babylon 07.08.2013 12:57

Цитата:

Сообщение от Isfet (Сообщение 1142857)
получается что каждый вью хранит айди модели?
то есть получается порядок действий такой?
1. кликнули на вью,
2. диспатчим кастом событие, в котором передаем айди вью,
3.контроллер находит этот вью по айди
4. вытаскивает из него данные и айди модели
5.говорит модели записать данные во внутреннюю модель по айдишнику

так?

2. Передается только ссылка на объект модели или вида, а вместе с объектом и его id. Вы правы Вид и Модель практически не отличаются. Вид работает с отображаемыми объектами, а модель нет. Вид ничего не знает о методах модели, а модель о методах вида. Но контроллер знает всё.

Isfet 07.08.2013 16:56

Цитата:

Сообщение от Babylon (Сообщение 1142882)
2. Передается только ссылка на объект модели или вида, а вместе с объектом и его id

тоесть так: из вью нижнего уровня диспатчим/бабблим событие до верхней вьюшки, она редиспатчит это событие, сохраняя таргет чтобы контроллер мог поймать низкоуровневую вью и вытащить из нее все что надо(айди, данные и тп), и сказать верхней модели - замени такие-то данные в модели с таким-то айди?

etc 07.08.2013 17:01

Ссылка идёт сразу на модель.

Babylon 07.08.2013 19:02

все виды "равноудалены" от контроллера и доступны по ссылке, но друг с другом могут образовывать некоторую иерархию, в зависимости от задач вашего приложения. В AS3 нет встроенных id для объектов как в объектив с

Zebestov 07.08.2013 19:29

Цитата:

Сообщение от Babylon (Сообщение 1142941)
все виды "равноудалены" от контроллера

Это если контроллер один. Тем не менее в любом MVC контроллеры, равно как и модели с отображениями, зачастую сами выстроены в иерархию.
Но даже в случае одного контроллера иметь прямые ссылки на все виды нецелесообразно.

Babylon 07.08.2013 19:49

Zebestov, пожалуйста расскажите про иерархию контроллеров.


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

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