![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте
Я хочу узнать, не противоречит ли вот такой вот финт парадигме MVC: Есть компонент со скином, в скине этом еще один компонент со своим скином, и в нем нужно отобразить значение переменной из модели, например quality (в модели это getter/setter) Я ранее при смене значения quality в модели генерил событие (ModelEvent.QUALITY_CHANGE), компонент, в котором вся моя конструкция знал о модели, поэтому подписывался под это событие, ткже он имел свою переменную _quality, в которую записывалось значение _model.quality после эвента, затем invalidateProperties для скина (hostComponent.quality), и там в скине, такая же петрушка, короче мульен всего нужно было понарисать чтобы скин компонента, который находится в скине родительского компонента отобразил значение переменной в модели МРАК !! Я щас так делаю: Это в скине компонента любой степени вложенности И все ![]() НО !!! Может ли скин кого-либо обращаться к модели напрямую ? Что-то меня это настораживает, хоть и очень удобно |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 9
|
пахнет холиваром "тру mvc")
Насколько большой проект? Предполагаются ли существенные правки\дополнения в будущем? Как я понимаю mvc, вот тут вы сразу профукали слабую связанность(удобство сопровождения, переносимость, гибкость) и это уже из мвц превратилось в плохую архитектуру. Надо оно вам или нет, опять же зависит от проекта. Имхо, заводить событие для одного параметра(если это не сложный тип, для которого есть отдельная вьюшка и отдельная модель) тоже противоречит "тру мвц". В идеале, должно быть заменено на , где либо в самом событии передаются новые значения, либо у получателя есть линк на модель. Должна быть отдельная вьюшка, слушающая это событие и изменяющая дочерние вьюшки. Дочерние компоненты, а уж тем более скины, ничего ни о ком знать не должны. Цитата:
![]() p.s. Всё сказанное - имхо. Зависит от размера проекта и его дальнейшей судьбы. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|