Futures / Monads vs Acara

10

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.

c69
sumber
2
Sudah sering dikatakan, bahwa Acara (pub / sub, mediator) memungkinkan lepas-lepas siapa sih yang bilang begitu? berhenti mendengarkan mereka! Anda tidak dapat berlangganan ke suatu acara tanpa mengetahui orang tua -> kopling ketat. Lihat kejadian lemah (= Mediator?).
Louis Kottmann
@Baboon Saya umumnya setuju bahwa acara tidak secara otomatis menghasilkan kopling longgar, tetapi jika Anda memperkenalkan bus acara Anda dapat berlangganan acara tanpa mengetahui "induk". Siapa bilang? Ray Ryan di Google IO 2009, lihat google.com/events/io/2009/sessions/… di 13:50.
scarfridge
@ scarfridge ya, jika Anda menerapkan semacam eventaggregator, itu kehilangan kopling, seperti yang saya katakan di komentar saya.
Louis Kottmann
.net rx Adalah agregator acara, saya menggunakan ponsel, akan memposting rincian lebih lanjut nanti
AndreasScheinert

Jawaban:

1

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

Andreas Secheert
sumber
maaf atas keterlambatan terima. "sesuatu yang bodoh dari microsoft" memang luar biasa. Dan sekarang, setelah ekstensi reaktif bersumber terbuka, mereka bahkan lebih layak. Terima kasih untuk jawabannya (meskipun Anda mungkin ingin sedikit memperluasnya;)).
c69
Tergantung apa yang Anda cari: beberapa pengantar atau contoh spesifik. Dalam hal apa pun saya dapat merekomendasikan Anda untuk menjelajahi video dan pembicaraan channel9 oleh Erik Meijer dan Brian Beckmann tentang topik tersebut.
AndreasScheinert