Futuros / Mônadas vs Eventos


10

Em uma estrutura de aplicativo em que o impacto no desempenho pode ser ignorado (10 a 20 eventos por segundo no máximo), o
que é mais sustentável e flexível para usar como um meio preferido para a comunicação entre módulos - Eventos ou Futuros / Promessas / Mônadas ?

Costuma-se dizer que os Eventos (pub / sub, mediador) permitem acoplamentos frouxos e, portanto, - aplicativo mais sustentável ... Minha experiência nega isso: quando você tiver mais de 20 eventos - a depuração se torna difícil e a refatoração - porque é muito difícil ver: quem, quando e por que usa o quê.

Promessas (eu estou codificando em Javascript) são muito mais feias e estúpidas do que Eventos. Mas: você pode ver claramente as conexões entre as chamadas de função, para que a lógica do aplicativo se torne mais direta. O que eu tenho medo. no entanto, é que Promises trará mais engajamento com eles ...

ps: a resposta não precisa ser baseada em JS; a experiência de outras linguagens funcionais é muito bem-vinda.


2
Costuma-se dizer que os Eventos (pub / sub, mediador) permitem um acoplamento livre, quem diabos diz isso? pare de ouvi-los! Você não pode se inscrever em um evento sem conhecer o pai -> forte acoplamento. Examine eventos fracos (= Mediador?).
Louis Kottmann

@Baboon Eu geralmente concordo que os eventos não produzem acoplamentos soltos automaticamente, mas se você introduzir um barramento de eventos, poderá se inscrever nos eventos sem conhecer o "pai". Quem diz isso? Ray Ryan no Google IO 2009, consulte google.com/events/io/2009/sessions/… às 13:50.
scarfridge

@scarfridge sim, se você implementar algum tipo de agregador de eventos, ele perderá o acoplamento, como eu disse no meu comentário.
Louis Kottmann

.net rx É um agregador de eventos, estou no celular, publicarei mais detalhes posteriormente
AndreasScheinert

Respostas:


1

Mônadas e eventos funcionam muito bem juntos, por exemplo, dê uma olhada no .NET Rx. Eu acho que deveria haver até uma implementação de JavaScript. http://msdn.microsoft.com/en-us/data/gg577609.aspx


desculpe pelo atraso na aceitação. "alguma coisa idiota da microsoft" é realmente incrível. E agora, depois que as Extensões Reativas são de código aberto, elas são ainda mais viáveis. Agradecimento pela resposta (embora você possa expandi-la um pouco;)).
C69

Depende do que você está procurando: algumas introduções ou exemplos específicos. De qualquer forma, recomendo que você explore os vídeos e palestras do canal9 de Erik Meijer e Brian Beckmann sobre o assunto.
AndreasScheinert
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.