Capítulo 11. Extensões reactivas
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
As Reactive Extensions for .NET (normalmente abreviadas para Rx) foram concebidas para trabalhar com fontes de informação assíncronas e baseadas em eventos. O Rx fornece serviços que ajudam a orquestrar e sincronizar a maneira como o código reage aos dados desses tipos de fontes. Já vimos como definir e assinar eventos no Capítulo 9, mas o Rx oferece muito mais do que esses recursos básicos. Fornece uma abstração para fontes de eventos que tem uma curva de aprendizado mais acentuada do que os eventos, mas vem com um poderoso conjunto de operadores que torna muito mais fácil combinar e gerenciar vários fluxos de eventos do que é possível com o livre-for-all que os delegados e os eventos .NET fornecem. A Microsoft também disponibilizou um conjunto associado de bibliotecas chamado Reaqtor, que se baseia na fundação do Rx para fornecer uma estrutura para processamento de eventos confiável, com estado, distribuído, escalável e de alto desempenho em serviços.
A abstração fundamental do Rx, IObservable<T>, representa uma sequência de itens, e seus operadores são definidos como métodos de extensão para essa interface. Isso pode parecer muito com LINQ to Objects, e há semelhanças - não apenas IObservable<T> tem muito em comum com IEnumerable<T>, mas Rx também suporta quase todos os operadores LINQ padrão. Se estás familiarizado com o LINQ ...