En un marco de aplicación cuando se puede ignorar el impacto en el rendimiento (10-20 eventos por segundo como máximo),
¿qué es más fácil de mantener y utilizar como medio preferido para la comunicación entre módulos: eventos o futuros / promesas / mónadas ?
A menudo se dice que los eventos (pub / sub, mediador) permiten un acoplamiento flexible y, por lo tanto, una aplicación más fácil de mantener ... Mi experiencia lo niega: una vez que tiene más de 20 eventos, la depuración se vuelve difícil, y también lo es la refactorización. porque es muy difícil de ver: quién, cuándo y por qué usa qué.
Las promesas (estoy codificando en Javascript) son mucho más feas y tontas que los eventos. Pero: puede ver claramente las conexiones entre las llamadas a funciones, por lo que la lógica de la aplicación se vuelve más directa. De lo que tengo miedo. sin embargo, es que Promesas traerá más acoplamiento duro con ellos ...
ps: la respuesta no tiene que estar basada en JS, la experiencia de otros lenguajes funcionales es muy bienvenida.
Respuestas:
Las mónadas y los eventos juegan bastante bien juntos, por ejemplo, eche un vistazo a .NET Rx. Creo que debería haber incluso una implementación de JavaScript. http://msdn.microsoft.com/en-us/data/gg577609.aspx
fuente