W ramach aplikacji, w których wpływ na wydajność można zignorować (maksymalnie 10–20 zdarzeń na sekundę),
co jest łatwiejsze w utrzymaniu i elastyczne jako preferowane medium komunikacji między modułami - Wydarzenia lub Futures / Obietnice / Monady ?
Często mówi się, że Wydarzenia (pub / sub, mediator) pozwalają na luźne sprzężenie, a tym samym - łatwiejszą w utrzymaniu aplikację ... Moje doświadczenie zaprzecza temu: gdy masz więcej niż ponad 20 zdarzeń - debugowanie staje się trudne, podobnie jak refaktoryzacja - ponieważ bardzo trudno jest zobaczyć: kto, kiedy i dlaczego korzysta z czego.
Obietnice (koduję w Javascript) są o wiele brzydsze i głupsze niż Wydarzenia. Ale: wyraźnie widać połączenia między wywołaniami funkcji, więc logika aplikacji staje się bardziej prosta. Czego się boję jest jednak to, że obietnice przyniosą ze sobą więcej twardego połączenia ...
ps: odpowiedź nie musi być oparta na JS, mile widziane jest doświadczenie z innych języków funkcjonalnych.
Odpowiedzi:
Monady i wydarzenia grają całkiem dobrze razem, na przykład spójrz na .NET Rx. Myślę, że powinna istnieć nawet implementacja JavaScript. http://msdn.microsoft.com/en-us/data/gg577609.aspx
źródło