Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0 > Статьи

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.10.2014, 03:07
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 591  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
2 lammer.Ok
- mvc - это уровень архитектуры приложения, тащить его в реализацию рендера единственной вьюхи не стоит
- вью тут достаточно для холста и панели инструментов, меню
- я бы сделал модель холста, и в ней бы хранил все линейки (в том числе), а обновлятся модель будет и так на каждый тык
- линейка простой класс, отрисовщик и дизайнер (который слушает клики на линейке и таскает её), дизайнер диспатчит сигналы-ивенты о изменениях в вью/медиатор (как и все остальные инструменты)

Старый 29.10.2014, 16:10
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 592  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
Цитата:
- mvc - это уровень архитектуры приложения, тащить его в реализацию рендера единственной вьюхи не стоит
Почему не стоит? Это же удобно. Например, у меня модель всей сцены хранит модели всех инструментов отображенных вьюшкой сцены. Когда пользователь хочет сохранить рисунок, все модели сериализуются в один xml или json-объект и загружаются на сервер. Когда хочет загрузить рисунок, то опять же, xml парсится, фабрики создают модели и вьюшки, а контроллер сцены выдаёт контроллер инструмента, который будет связывать все MV инструмента. Вьюшка сцены хранит все вьюшки инструментов, она слушает дополнительно дочерние вьюшки и контролирует частоту перерисовки. При запросе удаления инструмента удаляется его модель и вьюшка. Как по мне так достаточно удобно использовать MVC и для инструментов. К тому же в данной теме также советуется использовать MVC и для часто рисующихся объектов.
Цитата:
- я бы сделал модель холста, и в ней бы хранил все линейки (в том числе), а обновлятся модель будет и так на каждый тык
- линейка простой класс, отрисовщик и дизайнер (который слушает клики на линейке и таскает её), дизайнер диспатчит сигналы-ивенты о изменениях в вью/медиатор (как и все остальные инструменты)
Эту часть я не совсем понял. То есть, получается у нас есть класс "Линейка", который сам себя считает и рисует. Когда мы хотим удалить линейку со сцены, то, к примеру, медиатор, связывающий вьюшку холста и все инструменты кричит вьюшке холста удалить тек. экземпляр линейки из ёё коллекции ? Так ?

Старый 29.10.2014, 17:01
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 593  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
- а если у вас будет 40 типов на холсте (линейки, круги, н-гоны, сетка, имажи, дравы ...) вы к каждому будет писать медиатор/вью? и каждый тип будет крутиться в ядре mvc тормозя отрисовку холста, а там обычно нужно ооооочень быстро рисовать.

- mvc это технология отделения данных от представления и еще на ней бюрократизация приложения, разложение по полочкам и папкам разных структурных элементов, в mvc это разделение решает взаимосвязь данных и их представление на клиенте. Это как уголовные дела по папкам в участке, дело = папка, но никому не приходит в голову заводить папку/дело на каждого участника инцидента.

- неважно сколько рисуется в секунду объект, или сколько раз на экране, это глупо лепить медатор к кружочкам или квадратикам, даже если их сотни на холсте!

- технически вью говорит что выбран допустим объект на холсте, медиатор или модель помечает текщим, а его удаление или еще какая команда обычно приходит из другой связки медиатор/вью где сидит кнопка удаления или еще какой элемент управления, модель удаляет объект -> кричит всем что данные сменились, вью холста ловит это и обновляет холст

(пысы: в этой теме можно писать тонны текста, прям кладезь для демагогов)

Старый 29.10.2014, 17:58
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 594  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
Цитата:
- а если у вас будет 40 типов на холсте (линейки, круги, н-гоны, сетка, имажи, дравы ...) вы к каждому будет писать медиатор/вью? и каждый тип будет крутиться в ядре mvc тормозя отрисовку холста, а там обычно нужно ооооочень быстро рисовать.
Зачем для всех? Один медиатор для всех и отдельная вьюшка для каждого. Но согласен, это избыточно и соб-но по-этому обратился на форум.

Цитата:
- mvc это технология отделения данных от представления и еще на ней бюрократизация приложения, разложение по полочкам и папкам разных структурных элементов, в mvc это разделение решает взаимосвязь данных и их представление на клиенте. Это как уголовные дела по папкам в участке, дело = папка, но никому не приходит в голову заводить папку/дело на каждого участника инцидента.
Понял. Видимо я слишком зациклился на парадигме, минуя логику принципа.

Цитата:
- неважно сколько рисуется в секунду объект, или сколько раз на экране, это глупо лепить медатор к кружочкам или квадратикам, даже если их сотни на холсте!

- технически вью говорит что выбран допустим объект на холсте, медиатор или модель помечает текщим, а его удаление или еще какая команда обычно приходит из другой связки медиатор/вью где сидит кнопка удаления или еще какой элемент управления, модель удаляет объект -> кричит всем что данные сменились, вью холста ловит это и обновляет холст
Всё вроде бы выглядит логично, но почему событие удаления объекта не приходит в контроллер сцены и он не сообщает модели удалить объект?

Старый 29.10.2014, 18:13
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 595  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
Цитата:
Сообщение от lammer.Ok Посмотреть сообщение
Всё вроде бы выглядит логично, но почему событие удаления объекта не приходит в контроллер сцены и он не сообщает модели удалить объект?
да через контроллер правильно
это я привык мухлевать напрямую в модель, а контроллеры использую только для важных моментов приложения (загрузка, запуск главного вида, сохранение/загрузка)

Старый 29.10.2014, 18:47
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 596  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
Понял. Ну тогда всё очень даже логично вырисовывается + мне легко внедрить изменения структуры в приложение. Ещё хотел уточнить, у меня данные о линейке(размер, угол) и о всех других инструментах будут ещё выводиться в дополнительном информационном окне и неудобно без прослушивания модели инструмента отдавать данные в это окно. Можете что-то посоветовать?

Старый 29.10.2014, 18:54
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 597  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
"модель прослушивания модели"?

я делал бы просто, CanvasModel.onChange.add() (onSelect) , все желающие сидят на этом событии/сигнале, в том числе и ваше инфо окно, у всех инструментов есна должен быть интерфейс для снятия инфы ) или использовать существующий метод toString()

Старый 29.10.2014, 19:19
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 598  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
Ага, тоже вариант. Но можно будет ещё подумать.
А так, спасибо большое, что помогли разобраться в проблеме. Вопросов больше нет

Старый 29.10.2014, 19:24
Gerbert вне форума Посмотреть профиль Найти все сообщения от Gerbert
  № 599  
Ответить с цитированием
Gerbert
Banned
[+1 06.12.14]
[+1 18.12.14]
[+1 30.12.14]

Регистрация: Aug 2014
Сообщений: 461
Цитата:
Всё вроде бы выглядит логично, но почему событие удаления объекта не приходит в контроллер сцены и он не сообщает модели удалить объект?
А что именно Вы удаляете, что вид диспатчит контроллеру, чтобы тот передал модели, чтобы модель передала виду - удалить - что?)

Старый 29.10.2014, 19:31
lammer.Ok вне форума Посмотреть профиль Отправить личное сообщение для lammer.Ok Найти все сообщения от lammer.Ok
  № 600  
Ответить с цитированием
lammer.Ok

Регистрация: Nov 2012
Сообщений: 55
Вид диспатчит "удаление объекта", контроллер говорит модели "удалить объект", а модель сама возьмёт тек. выбранный объект и удалит.

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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