Понимание реактивного программирования

Я новичок в мире реактивного программирования. Я читал, что как только переменная объявлена ​​и указывает на постоянно меняющееся значение, она автоматически обновит ее. Поэтому мне интересно, в чем разница в элементах управления графическим интерфейсом, предоставляемых asp.net, java и т. Д. Как только мы введем новое значение в текстовое поле, оно автоматически сохранит это значение. Это реактивное программирование? Может ли кто-нибудь предоставить несколько хороших руководств, чтобы лучше понять концепцию?


person user384636    schedule 23.01.2014    source источник
comment
Есть такая тема, которую можно добавить в эту ветку. stackoverflow.com/questions/20751115/   -  person edubriguenti    schedule 24.01.2014


Ответы (2)


Думайте о реактивном программировании (также называемом программированием потока данных) как о электронной таблице. Изменение значения в одной ячейке автоматически обновляет все остальные ячейки, ссылающиеся на первую. Он «реагирует» на изменение данных.

Используя ваш пример графического интерфейса... Допустим, пользователь вводит новое значение в текстовое поле. Предположим также, что у вас есть два других элемента управления, которые используют это значение для его отображения двумя разными способами. Как только использование вводит новое значение, эти два других элемента управления автоматически получают новое значение.

Да, это также можно сделать с помощью событий, но есть дополнительные преимущества, которые предоставляет поток данных...

  • Автоматический параллелизм
  • Настоящие компоненты черного ящика
  • Явные зависимости данных

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

Мэтт Каркчи

http://DataflowBook.com

person Matt Carkci    schedule 23.01.2014
comment
Хороший ответ. Я тоже слежу за книгой. Некоторое время назад я открываю эту тему и могу добавить в обсуждение stackoverflow.com/questions/20751115/ - person edubriguenti; 24.01.2014

При реактивном программировании вы можете привязать к пользовательскому элементу управления пользовательского интерфейса не только значение, но и результат некоторых вычислений над ним. Последние открывают перед вами множество возможностей. См. дополнительную информацию в файле readme для моей библиотеки ObservableComputations:

https://github.com/IgorBuchelnikov/ObservableComputations

person Igor Buchelnikov    schedule 08.04.2021