Я новичок в мире реактивного программирования. Я читал, что как только переменная объявлена и указывает на постоянно меняющееся значение, она автоматически обновит ее. Поэтому мне интересно, в чем разница в элементах управления графическим интерфейсом, предоставляемых asp.net, java и т. Д. Как только мы введем новое значение в текстовое поле, оно автоматически сохранит это значение. Это реактивное программирование? Может ли кто-нибудь предоставить несколько хороших руководств, чтобы лучше понять концепцию?
Понимание реактивного программирования
Ответы (2)
Думайте о реактивном программировании (также называемом программированием потока данных) как о электронной таблице. Изменение значения в одной ячейке автоматически обновляет все остальные ячейки, ссылающиеся на первую. Он «реагирует» на изменение данных.
Используя ваш пример графического интерфейса... Допустим, пользователь вводит новое значение в текстовое поле. Предположим также, что у вас есть два других элемента управления, которые используют это значение для его отображения двумя разными способами. Как только использование вводит новое значение, эти два других элемента управления автоматически получают новое значение.
Да, это также можно сделать с помощью событий, но есть дополнительные преимущества, которые предоставляет поток данных...
- Автоматический параллелизм
- Настоящие компоненты черного ящика
- Явные зависимости данных
Поток данных и реактивное программирование также являются очень «широкой» темой, охватывающей различные методы выполнения того, что я описал выше... будьте готовы к множеству разных точек зрения.
Мэтт Каркчи
При реактивном программировании вы можете привязать к пользовательскому элементу управления пользовательского интерфейса не только значение, но и результат некоторых вычислений над ним. Последние открывают перед вами множество возможностей. См. дополнительную информацию в файле readme для моей библиотеки ObservableComputations:
https://github.com/IgorBuchelnikov/ObservableComputations