Форум 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=157808)

3p.station 11.06.2011 01:48

MVC:Подмена вьюшек
 
Всем привет. Подскажите, как организовывается разный вид интерфейса программы.
имеем набор видов:обычный, полный экран, вид удобный для горизонтального просмотра, вертикального, мини-вид...
соответсвенно вид меняется (координаты гуишек, размеры и тп). Если я верно понимаю, то проще исопльзовать под каждый вид отдельный набор вьюшек. Вопрос - как (какой класс) должен организовать реалтайм удаление и подстановку новых инстансов. Или может посоветуете чего сопутствуещего.

Спасибо

ЗЫ юзаю роботлегс

Psycho Tiger 11.06.2011 01:58

Я пишу посредник - медиатор между вьюшкой и контроллером. В любой момент вьюшка может поменяться, но никто ничего не заметит, т.к. все работают с медиатором.

fish_r 11.06.2011 07:00

Не знаю, как это может быть решено в роботлегс. Но, я бы организовал вьюшку в виде контейнера и по команде модели заменял бы поставляемые ею же (моделью) "морды"...

i.o. 11.06.2011 11:30

Цитата:

и по команде модели заменял бы поставляемые ею же (моделью)
Один из основных смыслов MVC в том, что модель сама по-себе. В ней нет ссылок на Controller и View.

3p.station 11.06.2011 12:00

спасибо за ответы! :drinks:

Цитата:

Сообщение от Psycho Tiger (Сообщение 1002864)
Я пишу посредник - медиатор между вьюшкой и контроллером. В любой момент вьюшка может поменяться, но никто ничего не заметит, т.к. все работают с медиатором.

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

Crazy 11.06.2011 12:18

Цитата:

Сообщение от 3p.station (Сообщение 1002896)
чтобы вновь рожденная вьюшка сразу приняла нужный вид, нужно использовать "хранитель" ?

Memento pattern

3p.station 11.06.2011 12:21

ага он самый, спасибо!

Dukobpa3 11.06.2011 12:24

Цитата:

чтобы вновь рожденная вьюшка сразу приняла нужный вид, нужно использовать "хранитель" ?
Ключевые моменты могут быть к примеру в модели. Поидее должно быть так чтоб вью могла всё что ей надо для адекватного отрисовывания взять в модели.

А роботлегс да, там как раз архитектура под это заточена. Там пачка вьюшек и медиатор сразу в ядре фреймворка вшиты, остается только юзать согласно мануалов ;)

3p.station 11.06.2011 12:33

Цитата:

Сообщение от Dukobpa3 (Сообщение 1002906)
Поидее должно быть так чтоб вью могла всё что ей надо для адекватного отрисовывания взять в модели.

ну... в некоторых вью, возможно, будут штуки которые могут быть для модели не интересны, а так да, идея верна :)

Dukobpa3 11.06.2011 12:42

Ну пропорции экрана например вьюха может вычислить из размеров стейджа. Кординаты элементов точно так же можно вычислить динамически (я собственно практически всегда так и делаю в методе render()).

А в модель напихать там что-то типа размеров шрифтов, цвета кнопок, состав элементов (на маленьких экранах к примеру может быть что-то спрятано, или какое-то окошко просмотра чего-то сжато в маленькую кнопочку).


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

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