![]() |
|
||||||||||
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Цитата:
Цитата:
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 02.06.2014 в 15:16. |
|
|||||
|
[+1 22.07.14]
[+4 12.08.14] [+1 09.02.15] Регистрация: May 2014
Сообщений: 182
|
Цитата:
|
|
|||||
|
Регистрация: Apr 2014
Сообщений: 97
|
Я ври все размышляю ... если надо увеличить переменную не на 50, а на определенную переменную из Вьюва. То есть создам во Вьюве поле ввода и надо чтоб в Модели переменная увеличивалась на введенную в это поле величину, то как эту величину передавать в Контроллер?
|
|
|||||
|
[+1 22.07.14]
[+4 12.08.14] [+1 09.02.15] Регистрация: May 2014
Сообщений: 182
|
Прежде всего, нужно определить место дислокации этой переменной, так-как не всегда, поначалу, это удается сделать правильно. Для примера объясню на индикаторах жизни и индикаторе энергии -
С каждым нанесенным ударом убавляется энергия, значение которой, нужно и вью ( нужно же показывать пользователю сколько энергии осталось ) и модели ( так-как сила удара, это данные модели, а раз показатель энергии сказывается на силу удара, то и значение этой самой энергии нужны в модели ). И теперь рассмотрим значение жизни - промежуточные значения жизни ненужны в модели, так-как 100% или 50% или даже 1% здоровья на состояние игры, а значит и модели не сказывается. То есть, промежуточные значения нужны только вью, чтобы показывать индикатор жизни. Но когда значение жизни станет равным нулю, то да, об этом уже нужно уведомить модель, так-как это означает какое-то изменение во всей игре. А передавать значения из вью можно вместе с событиями. |
|
|||||
|
[+4 06.05.14]
|
Цитата:
Мало ли , что написано в книжке, что вью НЕ имеет права дергать модель и т.п., но если есть ТАКАЯ возможность , почему ей пренебрегать? В том то и смысл МВС - разделить логику от представления, а так получается в уме разделили, а на практике даем возможность. Самым адекватным решением уже принять то, что мвс - многолик. И закрыть на этом тему. Ибо этот извечный холивар - может вью дергать модель или нет, уже зарос мхом. Хочешь - дергай, только это уже будет свой паттерн , а не мвс, хочешь не давай ссылку модели во вью - тоже будет не МВС ( по сути ) , а хочешь занимайся классической триадой.
__________________
Марк Tween |
|
|||||
|
Цитата:
В принципе, если следовать вашей логике, то можно реально обойтись без контроллера. Что плохого в том, что вью вызовет у модели метод doSomething(), а модель что-то там сделает (прошу заметить, сама сделает, хоть и по просьбе вью) и вью через getSomething() заберет результат? Логично ведь? Зачем городить контроллер, ведь такой вариант еще менее ресурсозатратен. Вывод: не надо делать из mvc кашу. Используйте нормальный mvc, в котором у вью нет никаких ссылок на модель, либо используйте это пародию, но не называйте это mvc
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
[+1 22.07.14]
[+4 12.08.14] [+1 09.02.15] Регистрация: May 2014
Сообщений: 182
|
caseyryan, Вы так яро отстаиваете свою позицию, что хочется попросить дать ссылку на описываемый Вами вариант.
И ещё к Вам вопрос - если делать кнопку, то сам класс Button будет DisplayObjectContainer, в котором хранятся ссылки на скины-стейты... А почему так, если можно рисовать прям в самом DisplayObjectContainer? Цитата:
|
|
|||||
|
[+4 06.05.14]
|
Цитата:
То, что предлагает Костя, это некая модификация MVP. Вью шлет событие в контроллер, контроллер дергает модель, далее контроллер запускает или же просто передает параметры во вью. Это тоже не MVC - это MVP. не путайте
__________________
Марк Tween |
|
|||||
|
Цитата:
Цитата:
п.с. DisplayObjectContainer нельзя расширить напрямую и использовать его тоже нельзя. То есть своя кнопка будет в любом случае Sprite или MovieClip, это так, к слову
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
|
[+1 22.07.14]
[+4 12.08.14] [+1 09.02.15] Регистрация: May 2014
Сообщений: 182
|
Цитата:
![]() Картина взята из wiki, ссылка прилагается в конце поста. Цитата:
Добавлено через 23 минуты А про кнопку... естественно я знаю, что наследоваться от док нельзя, но я это сказал к тому, что имея возможности рисовать в самой кнопки, мы разделяем ответственность и используем композицию. Так же и с вью, хоть она ссылку и имеет, но имеет на интерфейс с геттерами, и даже если бы и прямую ссылку, то куда денется правило об разделении ответственности. Да, можно и из вью модель менять, можно и без контроллера и без модели и писать в кадрах. Ведь это тоже возможно, можно и язык отрезать, кому на что фантазии хватает... Добавлено через 38 минут И хочется сказать ТС, Вы упомянули, что читаете книгу про MVC... Если это книга про as3 MVC, то вот саму главу об MVC можно бегло пробежать, чтобы увидеть на её примере работу других паттернов, так-как MVC, это совокупность паттернов. И так же хочется сказать, что эти все паттерны уже реализованы на нативном уровне, но это все равно не освобождает Вас от прочтения всей книги. Целиком! Добавлено через 40 минут Вот об MVC, читать все и так же все по всем ссылкам. Добавлено через 45 минут И Спасибо Psycho Tiger'у!!! Последний раз редактировалось LifeIsRhythm; 02.06.2014 в 22:36. |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|