Created
April 24, 2015 14:56
-
-
Save dodikk/5b78d172c989cb4bc526 to your computer and use it in GitHub Desktop.
MVVM explained by @PaulTaykalo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Ну условно говоря: | |
Модеь: АААА! Давление 1960 на 1230!!! | |
Viewmodel : состояние лампочки: красное | |
View; Окей, отобразим ! красным | |
# и в обратную сторону | |
(Пользователь жмет педальку) | |
View : -> ViewModel | |
Слушай, тут пользователь жмякнул педальку. | |
ViewModel -> Model | |
Model.setAcceleratorState(Active) | |
Model. | |
(куча логики) | |
Ну в общем это если MVVM :) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Ну условно говоря:
В ролях:
Model:
давление
состояние штуцеров
синий рычаг
ViewModel:
Состояние системы
Уменьшить давление в системе
View:
картинки, пони, изыски художественного процесса
а также тотальная слежка за действиями пользователя
Акт первый:
Model:
АААА! Давление 1960 на 1230!!! И штуцеры поломались!
ViewModel:
(внутри: согласно нашим правилам и таблицам Брадиса
это соответсвует красному критическому состоянию)
АААА! Аларм, Тривога!
View:
Аларм? Тривога?
Срочно отображаем красный мигающий знак восклицания!
Акт второй:
(Пользователь делает пассы руками)
View:
(внутри у себя.. ага.. изменеие по Х по Y, ну тут все ясно)
View->ViewModel: Слушай. тут пользователь явно жмет на рычаг тормоза
ViewModel:
(внутри: Ага... если нам нажали на тормоз...)
ViewModel->Model: Так, сдвинь синий рычаг на одно деление, и я жду новую пачку данных
Model:
(внутри: рычаг сдвинули...
счасть мы все тут посчитаем... невнятное бормотание с интегральной и дифференциальной
характеристиками процесса)
(Через некоторе время)
Эпилог:
Model:
АААА! Давление 500 на 600!!! И штуцеры в норме!