Reactive Programming là gì?

Related Articles

keyboard

Rất nhiều ứng dụng được kiến thiết xây dựng dựa trên việc có đúng luồng tài liệu vào ứng dụng tại đúng thời gian, nhưng điều gì xảy ra nếu những luồng tài liệu đó không đến khi bạn cần. Reactive Programming là một cách để xử lý yếu tố này .

Về thực chất, Reactive Programming là chiêu thức lập trình được cho phép tăng trưởng những ứng dụng được cấu trúc xung quanh những luồng tài liệu không đồng điệu. Điều này được thực thi để cải tổ thưởng thức người dùng .

Reactive Programming được thực hiện để làm cho các ứng dụng phản ứng nhanh hơn. Bạn sẽ không muốn ứng dụng đóng băng để chờ một luồng dữ liệu xuất hiện trực tuyến.

Các sự kiện, tin nhắn, cuộc gọi và thậm chí còn cả những lỗi sẽ được thực thi bởi những luồng tài liệu. Khi những luồng tài liệu này Open, Reactive Programming được cho phép ứng dụng phản ứng với chúng bằng cách sử dụng hộp công cụ để lọc, tạo, quy đổi và liên kết bất kể luồng nào trong số đó .

Mã trong ứng dụng phản ứng tạo ra luồng tài liệu của bất kể thứ gì và từ bất kể thứ gì, ví dụ điển hình như nhu yếu HTTP, thư, thông tin, đổi khác so với biến, sự kiện bộ nhớ đệm, số đo cảm ứng và nhấp chuột khiến cho ứng dụng trở nên không đồng điệu về thực chất .

Reactive Programming hoàn toàn có thể quy đổi hầu hết mọi thứ thành luồng để quản trị không đồng nhất. Nó cũng làm cho việc giải quyết và xử lý lỗi được triển khai thuận tiện hơn, đồng thời giúp cho mã linh động hơn, dễ đọc hơn, hoàn toàn có thể tương hỗ và dễ viết hơn .

Bốn nguyên tắc để tuân thủ khi tạo các ứng dụng phản ứng.

Đầu tiên là cung ứng. Nó cần phải nhanh gọn phản ứng với toàn bộ người dùng .

Thứ hai là linh hoạt. Điều này có nghĩa nó phải áp dụng các nguyên tắc thiết kế và kiến ​​trúc phù hợp để đảm bảo đáp ứng trong mọi điều kiện.

Thứ ba là hoàn toàn có thể lan rộng ra. Nó cần thuận tiện tăng cấp theo nhu yếu để bảo vệ phân phối trong điều kiện kèm theo tải trọng lớn .

Cuối cùng, nền tảng của một mạng lưới hệ thống có năng lực lan rộng ra, linh động và phân phối là kiến ​ ​ trúc hướng thông điệp ( message-driven ). Ứng dụng hướng tin nhắn hoàn toàn có thể được khuynh hướng theo sự kiện ( event-driven ), dựa trên tác nhân ( actor-based ) hoặc cả hai .

Reactive Extensions

Reactive Programming như một khái niệm đã sống sót trong hơn 20 năm nhưng đã không tăng trưởng cho đến Reactive Extensions sinh ra. Reactive Extension ( còn được gọi là ReactiveX ) là giao diện lập trình ứng dụng ( Application Programming Interface-API ) hoặc lập trình không đồng nhất với những luồng hoàn toàn có thể quan sát được .

ReactiveX có hai lớp: lớp có thể quan sát (Observable) và lớp quan sát (Observer). Observable là nguồn dữ liệu của các luồng hoặc các sự kiện và Observer là lớp sử dụng (hoặc phản ứng lại) các phần tử được tạo ra.

Một Observable hoàn toàn có thể có nhiều Observer để mỗi mục dữ liệu được tạo ra sẽ được nhận bởi một Observer. Trong ReactiveX, một Observer theo dõi một Observable. Sau đó, Observable tạo ra những luồng tài liệu, Observer sẽ lắng nghe và phản ứng lại. Điều này tạo ra một loạt những hoạt động giải trí trên luồng tài liệu. Một chủ thể vừa hoàn toàn có thể hoạt động giải trí như Observer vừa hoàn toàn có thể đóng vai trò là Observable .

Chúng ta cũng hoàn toàn có thể vận dụng toán tử cho những luồng. Các toán tử xác lập phương pháp và thời gian Observable sẽ tạo luồng. Hầu hết những toán tử thực thi những hàm trên Observable và trả về một Observable .

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Advertismentspot_img

Popular stories