Chức năng phản ứng / lập trình quan hệ - Có sự khác biệt?


12

Tôi đã sử dụng Reactive Ca cao (bởi GitHub), API lập trình phản ứng chức năng để sử dụng với các thư viện Cacao trong một thời gian, nhưng mới đọc "Out of the Tar Pit" , bài báo được cho là trình bày các khái niệm đằng sau nó, và tôi hơi bối rối.

Bài viết trình bày (theo tôi hiểu) Lập trình quan hệ chức năng , trong đó mối quan hệ giữa dữ liệu được tạo ra với các điều kiện nên được hệ thống FRP thi hành để giảm lượng logic và trạng thái 'tình cờ' cần thiết.

Câu hỏi của tôi là, hai khái niệm này - FR (eactive) P và FR (elatic) P về cơ bản là giống nhau (với cái trước chỉ là một cách thực hiện cái sau) hay có sự khác biệt cốt lõi giữa hai cái này không? Thật không may tại thời điểm này kiến ​​thức của tôi về khu vực không đủ tốt để tôi phân biệt chúng đủ.

Nếu có một sự khác biệt, nó dường như là một cái gì đó để làm, như tên cho thấy, phản ứng với những thay đổi trong dữ liệu. Chắc chắn, Reactive Ca cao (và Rx trong C #) có khái niệm tạo tín hiệu được kích hoạt khi thay đổi dữ liệu và có thể được sử dụng để liên tục sửa đổi giá trị theo thời gian.

Đây có phải là sự khác biệt? Nếu không, là gì?

(Xin thứ lỗi cho việc gắn thẻ kém, tôi không thể tìm thấy các thẻ có liên quan và chưa thể tạo chúng - vui lòng cập nhật các thẻ thành thứ gì đó phù hợp hơn nếu bạn có thể.)


2
"Out of the Tar Pit" không trình bày các khái niệm đằng sau lập trình phản ứng chức năng - nó chỉ là một cách đọc tốt để hiểu tại sao trạng thái có hại. Hầu hết trong số đó áp dụng cho FP, FRelP và FReaP thuần túy.
Justin Spahr-Summers

Câu trả lời:


5

Một phản ứng có thể tạo ra sự thay đổi mà không liên quan đến một mô hình quan hệ. C = A + B Thay đổi A và / hoặc B và C sẽ phản ứng với thay đổi (nhưng có thể kết thúc với cùng một giá trị). Trên P. 42

Cách tiếp cận của lập trình quan hệ chức năng (FRP16) xuất phát từ tên của nó từ thực tế là các thành phần thiết yếu của hệ thống (logic và trạng thái thiết yếu) dựa trên lập trình chức năng và mô hình quan hệ (xem Hình 2).

chú thích 16

Không nên nhầm lẫn với lập trình phản ứng chức năng [EH97] trong thực tế có một số điểm tương đồng với phương pháp này, nhưng không tập trung vào các mối quan hệ hoặc mô hình quan hệ


Ah tôi thấy. Dường như có rất nhiều sự giao thoa với các khung phản ứng mà tôi đã đề cập và Lập trình quan hệ chức năng, chắc chắn có một số khái niệm hiện diện, nhưng chúng cũng rút ra các khái niệm về tín hiệu từ các Hành vi và Sự kiện của bài báo thứ hai.
danpalmer

3
Sự giao thoa chủ yếu ở cấp độ thuần túy của FP. Các mô hình quan hệ và phản ứng không thực sự có nhiều điểm chung.
Justin Spahr-Summers
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.