Lập trình phản ứng

Bách khoa toàn thư mở Wikipedia
(Đổi hướng từ Reactive programming)

Trong điện toán, lập trình phản ứng (tiếng Anh: reactive programming) là một mẫu hình lập trình khai báo liên quan đến các luồng dữ liệu và lan truyền của sự thay đổi. Với mẫu hình này, có thể dễ dàng thể hiện các luồng dữ liệu (data stream) tĩnh (ví dụ: mảng) hoặc động (ví dụ: bộ phát sự kiện) và cũng có thể truyền đạt rằng có tồn tại một sự phụ thuộc được suy ra trong mô hình thực thi liên quan, tạo điều kiện cho việc truyền tự động dữ liệu đã thay đổi lưu lượng.

Ví dụ, trong thiết lập của lập trình mệnh lệnh (imperative programming), có nghĩa là được gán cho kết quả của ngay khi biểu thức được ước tính, và sau đó, giá trị của có thể được thay đổi mà không ảnh hưởng tới giá trị của . Ngược lại, trong lập trình phản ứng, giá trị của được tự động cập nhật mỗi khi giá trị của hay thay đổi mà không cần chương trình phải thực thi lại câu lệnh để xác định giá trị được gán hiện tại của [cần dẫn nguồn]

Một ví dụ khác là ngôn ngữ mô tả phần cứng như Verilog, trong đó lập trình phản ứng cho phép các thay đổi được mô hình hóa khi chúng lan truyền qua các mạch.

Lập trình phản ứng được đề xuất như là một cách để đơn giản hóa việc tạo giao diện người dùng tương tác và hoạt hình hệ thống gần thời gian thực.[cần dẫn nguồn]

Ví dụ, trong kiến trúc MVC (model–view–controller), lập trình phản ứng có thể tạo điều kiện cho các thay đổi trong model bên dưới để được phản ánh tự động trong view được liên kết.[1]

Cách tiếp cận để tạo ngôn ngữ lập trình phản ứng[sửa | sửa mã nguồn]

Xem thêm[sửa | sửa mã nguồn]

  • Reactive extensions, một API để thực hiện lập trình phản ứng với các luồng, các observable và toán tử có nhiều hiện thực ngôn ngữ bao gồm RxJs, RxJava, RxPy và RxSwift.
  • Elm (ngôn ngữ lập trình) Thành phần phản ứng của giao diện người dùng web.
  • Reactive Streams, một tiêu chuẩn JVM để xử lý luồng không đồng bộ với áp lực không chặn
  • Observable, quan sát được trong lập trình phản ứng.

Tham khảo[sửa | sửa mã nguồn]

  1. ^ Model-view-controller and the observer pattern

Liên kết ngoài[sửa | sửa mã nguồn]