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

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

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

К примеру, в императивном программировании присваивание a: = b + c будет означать, что переменной a будет присвоен результат выполнения операции b+c, используя текущие (на момент вычисления) значения переменных.

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

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

Другой пример – это языки описания аппаратуры (HDL), такие как Verilog. Реактивное программирование позволяет моделировать изменения в виде их распространения внутри модели.

Реактивное программирование предлагалась как путь для легкого создания пользовательских интерфейсов, анимации или моделирования реальных временных систем (time systems).

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

Содержание

Концепции

Реактивные подходы к программированию

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

Можно соединить парадигмы реактивного и императивного программирования. В такой связке императивные программы могли бы работать над реактивными структурами данных.

Объектно-ориентированное реактивное программирование (ООРП)

ООРП это комбинация объектно-ориентированного подхода с реактивным. Пожалуй, наиболее естественный способ сделать это, такой: вместо методов и полей, у объектов реакции, которые автоматически пересчитывают значения и другие реакции зависят от изменений этих значений. en:Reactive programming

Личные инструменты

Served in 0.036 secs.