Reactive Programming là gì vậy?

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 chính là một cách để xử lý yếu tố này . Về thực chất, Reactive Programming chính 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 cũng sẽ chưa muốn ứng dụng đóng băng để chờ một luồng dữ liệu xuất hiện trực tuyến.

Reactive Programming là gì vậy?

Bạn đang đọc: Reactive Programming là gì vậy?

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ị chưa đồ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ỗ , 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 chính 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 chính 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 hợp lý để bảo đảm đá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 chính là ReactiveX ) là giao diện lập trình ứng dụng ( Application Programming Interface-API ) hoặc lập trình chưa đồng số 1 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 , Observer chính 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 cũng sẽ được nhận bởi một Observer. Trong ReactiveX, một Observer theo dõi một Observable. Sau đó, Observable gây nên những luồng tài liệu, Observer cũng sẽ lắng nghe và phản ứng lại. Điều này gây nên 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ò chính 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. Những 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 .

Giới thiệu: Quang Sơn

Quang Sơn là giám đốc hocdauthau.com - Kênh thông tin học đấu thầu, kiến thức tổng hợp, công nghệ, đời sống.

0 Shares
Share
Tweet
Pin