Здравствуйте, Shmj, Вы писали:
Правильнее будет — паттерны управления состоянием. state management — устоявшийся термин, что гораздо правильнее т.к. UI это малая часть того чем надо управлять.
S>
MVC это совсем необязательно серверное решение. Автономный клиент безо всякого сервера точно так же может быть на MVC
В этом случае код получает довольно близким к разновидностям redux:
вместо reducer будет command
вместо enhancer будет плагин или мидлвара
вместо мидлвары будет или команда или команда-мидлвара или тоже мидлвара
модель может быть пассивной, активной, реактивной, мутабельной, иммутабельно, какой угодно, в отличие от редукс модель только иммутабельная пассивная.
например.
mvc
conroller.execute(Action.DocumentOpen)
контроллер находит команду-обработчик,
вызывает её с учетом всех нужных мидлвар итд, передает модель как аргумент
команда обновляет состояние модели
в конце контроллер вызывает обновление UI
— метод update у каждого из view
— event update на который подписаны все view
— observable/subscription на который подписаны все view
— кидает в шину сообщение update
последние два варианта наиболее близки к redux
redux
store.dispatch(Action.DocumentOpen)
store вызывает все редюсеры
потом вызывает мидлвару
сохраняет новое состояние модели
триггерит subscription на который подписаны все view