PDA

Просмотр полной версии : MVC на примере RangeSlider-а


djyamato
26.09.2015, 05:54
Здравствуйте.
Хотелось бы немного отойти от абстракции.
Прошу прояснить на примере этого компонента
который состоит из 2х кнопочек. Пользователь может перетаскивать (Min, Max), причем так, что во время перетаскивания min и упора его в max оба смещались бы вправо - min как бы толкает max вправо.

- кто создаст модель, кто создаст контроллер и вьюхи-кнопки (min, max)
- кто следит во время перетаскивания пользователем кнопки min за тем чтобы при упоре min в max последняя тоже перемещалась бы вправо
- кто перемещает программно min и max

Tails
26.09.2015, 08:59
Для гуи использовать mvc было бы слишком избыточно, на мой взгляд.

MikroAcse
26.09.2015, 12:06
Для одного лишь компонента использовать MVC?
Это всё ведь можно сделать в одном небольшом классе, или двух.
Не идите по пути энтерпрайз-Java:D

djyamato
26.09.2015, 12:20
Ну а если вернуться к абстракции ? :) Просто некий компонент на примере этого.
Что бы вы ответили на мои вопросы.

caseyryan
26.09.2015, 13:48
Для одного лишь компонента использовать MVC?
Это всё ведь можно сделать в одном небольшом классе, или двух.
Ты прикалываешься что ли?) Какая разница для скольки компонентов если это самый удобный способ контролировать проект?
Попробуй потом свой 1 - 2 классовый слайдер прикрутить без изменений к какой-то проекту по-больше
По теме:
Набросал проект (для AIR, но разобраться можно и без сборки в принципе). Как контроллер там выступает класс Main, хотя в проекте по-крупнее я бы сделал отдельные контроллеры, для большего порядка

п.с. Конечно тут нет проверки, какой именно слайдер обновился. Надо бы передавать ссылку на сам слайдер или передавать ссылку на группу слайдеров, чтобы они не реагировали на перемещение слайдеров из групп в которую сами не входят

MikroAcse
26.09.2015, 14:12
Какая разница для скольки компонентов если это самый удобный способ контролировать проект?
Для одного компонента использовать MVC? Ты говоришь про проект в целом, а я про отдельный маленький слайдер. Зачем всё усложнять?
Конечно, можно для этого слайдера сделать модель, контроллер и вьюху.

caseyryan
26.09.2015, 14:15
Отдельный маленький слайдет - это просто вьюха. Чтобы ее к чему-то прикрутить безболезненно, нужно чтобы она при изменении апдейтила модель.
Но тут то вопрос на примере слайдера показать как использовать MVC. Представь, что отдельные элементы слайдера - это отдельные вьюхи

MikroAcse
26.09.2015, 15:20
Ах, да. Извиняюсь.
Действительно невнимательно прочитал и не заметил слова "проясните на примере".

djyamato
28.09.2015, 00:52
Конечно, можно для этого слайдера сделать модель, контроллер и вьюху.
Во-во я про это же.
Вы могли бы рассказать где там будет что и ответить на вопросы в первом посте. Кратко

Добавлено через 2 минуты
Отдельный маленький слайдет - это просто вьюха.
Спасибо за код, еще не смотрел, обязательно завтра взгляну.
И кнопочка это тоже вьюха, а у слайдера этих "кнопочек"(как минимум смена стэйтов) 2 штуки. Кнопочка тоже умная