Tương lai / Monads vs Sự kiện


10

Trong khung ứng dụng khi có thể bỏ qua tác động hiệu suất (tối đa 10-20 sự kiện mỗi giây),
điều gì có thể duy trì và linh hoạt hơn để sử dụng làm phương tiện ưa thích để liên lạc giữa các mô-đun - Sự kiện hoặc Tương lai / Lời hứa / Đơn vị ?

Người ta thường nói rằng Sự kiện (pub / sub, hòa giải viên) cho phép khớp nối lỏng lẻo và do đó - ứng dụng dễ bảo trì hơn ... Kinh nghiệm của tôi phủ nhận điều này: một khi bạn có hơn 20 sự kiện - gỡ lỗi trở nên khó khăn, và do đó, tái cấu trúc - bởi vì nó rất khó để thấy: ai, khi nào và tại sao sử dụng cái gì.

Hứa hẹn (tôi đang mã hóa trong Javascript) xấu hơn và bẩn hơn nhiều so với Sự kiện. Nhưng: bạn có thể thấy rõ các kết nối giữa các lệnh gọi hàm, do đó logic ứng dụng trở nên đơn giản hơn. Tôi sợ điều gì tuy nhiên, đó là những lời hứa sẽ mang lại nhiều kết nối khó khăn hơn với họ ...

ps: câu trả lời không nhất thiết phải dựa trên JS, kinh nghiệm từ các ngôn ngữ chức năng khác rất đáng hoan nghênh.


2
Người ta thường nói rằng, Sự kiện (quán rượu / phụ, hòa giải viên) cho phép khớp nối lỏng lẻo ai nói điều đó? đừng nghe họ nói nữa! Bạn không thể đăng ký một sự kiện mà không biết phụ huynh -> khớp nối chặt chẽ. Nhìn vào các sự kiện yếu (= Người hòa giải?).
Louis Kottmann

@Baboon Tôi thường đồng ý rằng các sự kiện không tự động tạo ra khớp nối lỏng lẻo, nhưng nếu bạn giới thiệu một xe buýt sự kiện, bạn có thể đăng ký các sự kiện mà không cần biết "phụ huynh". Ai nói vậy? Ray Ryan trên Google IO 2009, xem google.com/events/io/2009/simes/ vào lúc 13:50.
Scarfridge

@scarfridge vâng, nếu bạn triển khai một số loại tổ hợp sự kiện, nó sẽ mất khớp nối, như tôi đã nói trong nhận xét của mình.
Louis Kottmann

.net rx Là một công cụ tổng hợp sự kiện, tôi đang sử dụng điện thoại di động, sẽ đăng thêm chi tiết sau
AndreasScheinert

Câu trả lời:


1

Các đơn vị và sự kiện chơi khá độc đáo với nhau, ví dụ, hãy xem .NET Rx. Tôi nghĩ rằng thậm chí nên có một triển khai JavaScript. http://msdn.microsoft.com/en-us/data/gg577609.aspx


xin lỗi vì sự chậm trễ chấp nhận "Một số điều ngu ngốc từ microsoft" thực sự tuyệt vời. Và bây giờ, sau khi phần mở rộng Reactive đã được mở nguồn, chúng thậm chí còn khả thi hơn. Thanx cho câu trả lời (mặc dù bạn có thể muốn mở rộng nó một chút;)).
c69

Nó phụ thuộc vào những gì bạn đang tìm kiếm: một số giới thiệu hoặc ví dụ cụ thể. Trong mọi trường hợp, tôi có thể khuyên bạn nên khám phá các video và bài nói chuyện của channel9 của Erik Meijer và Brian Beckmann về chủ đề này.
AndreasScheinert
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.