О web-разработке
и даже немного больше...

Что такое «Реактивное программирование»?

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

Итак, фраза «реактивное программирование» будучи незнакомым с этим термином может возникнуть ассоциация с некой техникой программирования, при которой достигается высокая скорость написания кода, или что-то в этом роде. На самом деле этот термин обозначает другое, давайте рассмотрим простой пример.

Для лучшего понимания давайте возьмем простую алгебраическую задачу:

a = b + c

В математическом представлении в качестве значения «a» будет присвоен результат сложения «b» и «с».

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

Реактивное программирование предусматривает автоматический пересчёт значения переменной «a», если хотя-бы одна из переменных «b» или «с» получит новое значение.

Если вы работали в табличных редакторах, к примеру, Excel, то там вы могли наблюдать работу табличных процессоров, которые в свою очередь являются хорошим примером реактивного программирования. К примеру, одна из ячеек таблицы может содержать строковые значения, либо формулу, связанную с другими ячейками, допустим это «=B1+C1». В случае если значение в ячейках B1 либо C1 меняется, то значение в целевой ячейке будет обновлено самостоятельно.

Реактивное программирование предлагалось как путь для лёгкого создания пользовательских интерфейсов, анимации или моделирования систем, изменяющихся во времени.

В MVC архитектуре с помощью реактивного программирования можно реализовать автоматическое отражение изменений из Model в View и наоборот из View в Model.

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

Опубликован: 29.03.2019 г.

См. также:

Профессия: Менеджер проектов
Что такое Unit тесты?
Что такое Scrum и Agile?
Вечный хостинг от Eternalhost
Что такое UX/UI простыми словами
Подборка популярных шаблонизаторов PHP
Что такое Highload, о котором так часто ведутся беседы
Делаем шаблон сайта (шпаргалка)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта