|
|
|||||
стервочка (я мужик)
|
tikhop, методы работы с сервером, или методы (де)сереализации? немного различные понятия. а вообще это подвиды контроллеров.
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
В контроллере серверного соединения.
|
|
|||||
Регистрация: Nov 2001
Адрес: Казань
Сообщений: 118
|
А в Модели должны храниться полученные данные. Мне так кажется.
Вообще, я склоняюсь к мысли, что Контроллер занимается получением и управлением информационными потоками внутри приложения. А кто должен обрабатывать данные Модель или Контроллер? Например, математические расчёты или расчёт других параметров Модели при изменении одного из них? |
|
|||||
стервочка (я мужик)
|
Cybo, изменении одно из кого? модель должна хранить данные и рассылать события об изменении. характер изменений задаётся контроллером.
|
|
|||||
Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
|
Не обязательно. Отображение может запрашивать состояние модели и без нотификации об изменении. Классический пример:
Модель: хранит скорость V, начальные координаты p0 и время начала движения t0. А так же возвращает текущие координаты по формуле: p = p0 + V * (getTimer() - t0); Контроллер: меняет скорость (может так же сохранять в модель p0, t0 - но это необязательно, их может рассчитать и сохранить сама модель). Отображение: регулярно запрашивает у модели текущие координаты (скажем на ENTER_FRAME).
__________________
...Тебе страшно? Мне - нет. |
|
|||||
Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
|
Цитата:
И борются с этим другими способами (останов анимации и пр. за пределами viewArea), пересортировка не на каждый кадр, а на смещение объекта или viewArea, ну и т.п, и т.д. А вычисление координат по простейшей формуле - это песчинка, и тут запусти хоть 500 ентерфреймов. Но все зависит от задачи, для других вариантов есть другие решения. Я просто привел пример.
__________________
...Тебе страшно? Мне - нет. Последний раз редактировалось Ромастый; 28.04.2009 в 00:37. |
|
|||||
.
|
Цитата:
|
|
|||||
Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
|
Цитата:
Я рассматривал простейшую ситуацию, когда состояние меняется, а нотификации не требуется, и под состоянием имел ввиду координаты. Не затрагивая остальную модель. Я же не говорил, что нет оповещения о других изменениях. Так например вполне может быть нотификация при изменении скорости, и если отлична от нуля - запускать энтерфрэйм. Если речь зашла о проверках, то проще писать координаты в самой модели, проверяя округленное значение времени деленного на fps, так чтобы вычисление и запись происходили только при первом обращении на кадре, а остальные запрашивающие получали значение уже записанной переменной. И при постоянном движении несколько энтерфрэймов не будут работать медленнее, чем вызовы всех обработчиков, подписанных на событие. Но все зависит от постановки задачи и конкретики, вариантов может быть масса. А я привел лишь абстрактный пример. Кстати, внимательный сразу бы указал, что состоянием в полном случае является только скорость и время, а координаты вполне могла бы считать и сама вьюшка по той же формуле. Я хотел лишь показать случай, когда отображение запрашивает "срез" некоего состояния модели, в любой момент времени без дополнительной нотификации со стороны модели.
__________________
...Тебе страшно? Мне - нет. Последний раз редактировалось Ромастый; 28.04.2009 в 01:19. |
|
|||||
стервочка (я мужик)
|
Цитата:
что касается странного спора, то в случаи с перемещением, я бы выбрал средний вариант: модель оповещает о изменении скорости, если скрость отлична от нуля, то вьюха включает ентрфрэйм, иначе выключает. |
Часовой пояс GMT +4, время: 12:56. |
|
« Предыдущая тема | Следующая тема » |
|
|