Почему React — различия между версиями

Материал из YourcmcWiki
Перейти к: навигация, поиск
(Новая страница: «Почему React? Потому, что правильная концепция: это не MVC, а "MC" (Model-Component) фреймворк. Нет делен…»)
 
м
Строка 1: Строка 1:
Почему React? Потому, что правильная концепция: это не MVC, а "MC" (Model-Component) фреймворк. Нет деления на V и C. Почему это правильно? Потому, что деление на самом-то деле искусственное. Мы все чётко знаем, где View, и все чётко знаем, где Model. А вот где контроллер - тут всегда вопросы. То ли правильное View отражает состояние модели (общаясь с ней напрямую), то ли всё состояние должен проецировать контроллер (и тогда это ViewModel/презентер). То ли по контроллеру на экран, то ли по контроллеру на компонент. Отсюда и все вариации: контроллер, презентер, ViewController, ViewModel и так далее. Вроде контроллер (или ViewModel) должен обеспечивать заменяемость View, но по факту это никогда не работает.
+
Почему React? Потому, что это правильный вариант MVC (или MVVM?). Который, по большей части, не MVC, а "MC" (Model-Component) + внешний контроллер (например, Dispatcher в случае Flux), который занимается только обработкой действий и обновлением моделей. Внутри самого React нет деления на V и C. Почему это правильно? Потому, что деление на самом-то деле искусственное. Мы все чётко знаем, где View, и все чётко знаем, где Model. А вот где контроллер - тут всегда вопросы. То ли правильное View отражает состояние модели (общаясь с ней напрямую), то ли всё состояние должен проецировать контроллер (и тогда это ViewModel/презентер). То ли по контроллеру на экран, то ли по контроллеру на компонент. Отсюда и все вариации: контроллер, презентер, ViewController, ViewModel и так далее. Вроде контроллер (или ViewModel) должен обеспечивать заменяемость View, но по факту это никогда не работает.

Версия 12:47, 18 июня 2016

Почему React? Потому, что это правильный вариант MVC (или MVVM?). Который, по большей части, не MVC, а "MC" (Model-Component) + внешний контроллер (например, Dispatcher в случае Flux), который занимается только обработкой действий и обновлением моделей. Внутри самого React нет деления на V и C. Почему это правильно? Потому, что деление на самом-то деле искусственное. Мы все чётко знаем, где View, и все чётко знаем, где Model. А вот где контроллер - тут всегда вопросы. То ли правильное View отражает состояние модели (общаясь с ней напрямую), то ли всё состояние должен проецировать контроллер (и тогда это ViewModel/презентер). То ли по контроллеру на экран, то ли по контроллеру на компонент. Отсюда и все вариации: контроллер, презентер, ViewController, ViewModel и так далее. Вроде контроллер (или ViewModel) должен обеспечивать заменяемость View, но по факту это никогда не работает.