.NET Framework, C#, Microsoft, Programação assíncrona, Webcast

MSDN Webcast: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

Introdução

No dia 25/04/2011, eu apresentei o webcast do MSDN IAsyncResult Pattern ou Asynchronous Programming Model (APM). 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.

Asynchronous Programming Model (APM)

O padrão IAsyncResult Pattern ou Asynchronous Programming Model (APM) foi introduzido no .NET Framework 1.0, em fevereiro de 2002. Também conhecido como Begin/End Pattern, num nível básico, o padrão se baseia em dois métodos relacionados para representar uma operação assíncrona: BeginNomeOperacao e EndNomeOperacao.

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
  • Demonstração – Operação síncrona
  • Asynchronous Programming Model (APM)
  • Versão assíncrona via Asynchronous Programming Model (APM)
  • Operação síncrona versus operação assíncrona no padrão APM (animação)
  • IAsyncResult com informações sobre uma operação assíncrona
  • Demonstração – Operação assíncrona com o padrão APM
  • Artigos recomendados

Slides da apresentação

Demonstração

Na apresentação, eu realizei uma demonstração de uma implementação do padrão Asynchronous Programming Model (APM) numa classe para cálculo da soma dos termos de uma série convergente. Para a demonstração, eu criei uma solução nomeada Apm no Visual Studio 2010 e desenvolvi dois projetos: uma Class Library nomeada Msdn.Webcasts.Matematica.Series, com a implementação do padrão APM, 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 três classes: ResultadoSerieConvergente, SerieConvergenteSomarAsyncResult e SerieConvergente, conforme ilustrado no diagrama de classes abaixo.

ResultadoSerieConvergente
Classe ResultadoSerieConvergente
SerieConvergenteSomarAsyncResult
Classe SerieConvergenteSomarAsyncResult
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 25 milhões primeiros termos da série de Leibniz.

Teste da classe SerieLeibniz
Convergência da Série de Leibniz para 25 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 Asynchronous Programming Model (APM)

Vídeo da apresentação

Assista ao vídeo da apresentação do Webcast no site da Microsoft em:
MSDN Webcast: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

3 comentários sobre “MSDN Webcast: IAsyncResult Pattern ou Asynchronous Programming Model (APM)

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