Dans un cadre d'application où l'impact sur les performances peut être ignoré (10-20 événements par seconde au maximum),
quoi de plus maintenable et flexible à utiliser comme moyen de communication préféré entre les modules - Événements ou Futurs / Promesses / Monades ?
On dit souvent que les événements (pub / sub, médiateur) permettent un couplage lâche et donc - une application plus maintenable ... Mon expérience le nie: une fois que vous avez plus de 20+ événements - le débogage devient difficile, tout comme la refactorisation - car il est très difficile de voir: qui, quand et pourquoi utilise quoi.
Les promesses (je code en Javascript) sont beaucoup plus laides et plus bêtes que les événements. Mais: vous pouvez clairement voir les connexions entre les appels de fonction, de sorte que la logique d'application devient plus simple. Ce que j'ai peur. cependant, est que Promises apportera plus de couplage dur avec eux ...
ps: la réponse ne doit pas être basée sur JS, l'expérience d'autres langages fonctionnels est la bienvenue.
Réponses:
Les monades et les événements se jouent assez bien ensemble, par exemple, jetez un œil à .NET Rx. Je pense qu'il devrait même y avoir une implémentation JavaScript. http://msdn.microsoft.com/en-us/data/gg577609.aspx
la source