Показать сообщение отдельно
Старый 07.08.2013, 08:25
Isfet вне форума Посмотреть профиль Отправить личное сообщение для Isfet Найти все сообщения от Isfet
  № 108  
Ответить с цитированием
Isfet

Регистрация: Mar 2012
Адрес: г.Новосибирск
Сообщений: 381
почитав темы про mvc я понял что структура вьювов должна почти зеркально повторять структуру моделей,
но если нажали что-нибудь во вью, а она находится глубоко, а контроллера нет поблизости, передаем событие ближайшему контроллеру, но как этот контроллер может дать своей модели какую именно модель внутри нее нужно изменить(то есть как найти можель которая принадлежит именно этой вью ), вижу два варианта:
1. использовать метки (типо айдишников в БД).
2.все же создавать триаду "на глубине", и тогда контроллер будет знать к какой модели относится вью.

но опять не понятно что делать когда у одного контроллера много одноуровневых вью, и у каждой из них по модели.


также не понятно каким образом удаляется триада во втором случае (2.все же создавать триаду, и тогда контроллер будет знать к какой модели относится вью.)

мне видится такое удаление:

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

просьба строго не судить) я пытаюсь понять суть)