Dalam kerangka kerja aplikasi ketika dampak kinerja dapat diabaikan (maksimal 10-20 peristiwa per detik),
apa yang lebih mudah dikelola dan fleksibel untuk digunakan sebagai media komunikasi antar modul - Acara atau Futures / Janji / Monad ?
Sering dikatakan, bahwa Acara (pub / sub, mediator) memungkinkan lepas dan dengan demikian - aplikasi yang lebih dapat dipertahankan ... Pengalaman saya menyangkal ini: setelah Anda memiliki lebih dari 20 peristiwa - debugging menjadi sulit, dan begitu juga refactoring - karena sangat sulit untuk melihat: siapa, kapan dan mengapa menggunakan apa.
Janji (Saya mengkode dalam Javascript) jauh lebih jelek dan bodoh, daripada Acara. Tetapi: Anda dapat dengan jelas melihat koneksi antara panggilan fungsi, sehingga logika aplikasi menjadi lebih mudah. Apa yang saya takutkan. meskipun begitu, apakah Janji akan membawa lebih banyak kesulitan bersamanya ...
ps: jawabannya tidak harus didasarkan pada JS, pengalaman dari bahasa fungsional lainnya disambut baik.
Jawaban:
Monads dan acara bermain bersama dengan cukup baik, misalnya lihat .NET Rx. Saya pikir bahkan harus ada implementasi JavaScript. http://msdn.microsoft.com/en-us/data/gg577609.aspx
sumber