Sem categoria

MSDN Webcast: Event-based Asynchronous Pattern (EAP)

Introdução

No dia 26/04/2011, eu apresentei o webcast do MSDN Event-based Asynchronous Pattern (EAP). Os webcasts do MSDN são transmissões ao vivo e gratuitas, realizadas por especialistas Microsoft ou líderes da comunidade, que detalham recursos de produtos, solucionam dúvidas de usuários e fazem demonstrações de novas tecnologias.

Event-based Asynchronous Pattern (EAP)

O padrão Event-based Asynchronous Pattern (EAP) corresponde a uma evolução do padrão IAsyncResult Pattern ou Asynchronous Programming Model (APM) para programação assíncrona na plataforma .NET. O EAP define um padrão para o desenvolvimento da versão assíncrona de um método síncrono NomeOperacao. Neste padrão, dois membros devem ser implementados no tipo que contém a versão síncrona do método: um método que corresponde à versão assíncrona da operação nomeado como NomeOperacaoAsync e um evento para notificar quando a operação assíncrona NomeOperacaoAsync for completada nomeado NomeOperacaoCompleted. O EAP também define padrões para suportar, opcionalmente, cancelamento, notificação de progresso e resultados incrementais.

Apresentação teórica

Na parte teórica, eu mostrei informações sobre o padrão, incluindo os seguintes tópicos:

  • Operação síncrona versus operação assíncrona
  • Event-based Asynchronous Pattern (EAP)
  • Operação síncrona versus operação assíncrona no padrão EAP
  • Versão assíncrona via EAP
  • AsyncCompletedEventHandler
  • AsyncCompletedEventArgs
  • Artigos recomendados

Slides da apresentação

Demonstração

Na apresentação, eu realizei uma demonstração de uma implementação do padrão Event-based Asynchronous Pattern (EAP) numa classe para cálculo da soma dos termos de uma série convergente. Para a demonstração, eu criei uma solução nomeada Eap no Visual Studio 2010 e desenvolvi dois projetos: uma Class Library nomeada Msdn.Webcasts.Matematica.Series, com a implementação do padrão EAP, e uma Console Application nomeada SerieLeibniz para testar uma chamada assíncrona para somar os primeiros termos da série de Leibniz.

Na implementação da Class Library foram desenvolvidas duas classes: ResultadoSerieConvergente e SerieConvergente, conforme ilustrado no diagrama de classes abaixo.

ResultadoSerieConvergente
Classe ResultadoSerieConvergente
SerieConvergente
Classe SerieConvergente

Na aplicação console SerieLeibniz, eu referenciei a biblioteca de séries convergentes para calcular, de forma assíncrona, a convergência da soma dos primeiros termos da série de Leibniz. Abaixo, segue um exemplo da saída da aplicação ao calcular a convergência da soma dos 5 milhões primeiros termos da série de Leibniz. A aplicação realiza três chamadas assíncronas: uma para 20% a menos de termos que o solicitado (4 milhões), outra para o número de termos solicitado (5 milhões) e outra para 20% a mais de termos que o solicitado (6 milhões).

TesteSerieLeibniz
Convergência da Série de Leibniz para 4, 5 e 6 milhões de termos

O código da demonstração pode ser baixado em:
Solução do Visual Studio 2010 com a demonstração do padrão Event-based Asynchronous Pattern (EAP)

Vídeo da apresentação

Assista ao vídeo da apresentação do Webcast no site da Microsoft em:
MSDN Webcast: Event-based Asynchronous Pattern (EAP)

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s