TechEd 2010

Essa é minha agenda para as palestras do TechEd 2010. Tem muita coisa legal. Foquei mais nas palestras que discutem sobre arquitetura e escalabilidade, também vou dar uma espiada no MVC 2 que a poucos dias foi uma dúvida se usaríamos ou não nos nossos projetos aqui na empresa. O AppFabric também está prometendo muito tem muitas palestas sobre esse tema.

Programação do dia 13/09/2010

13:45 – 15:00
Título: ASP.NET MVC para desenvolvedores Web Forms
Palestrante (s): Giovanni Bassi, Victor Cavalcante,
Sala: Cantareira 3
Público: Desenvolvedores / Profissionais de TI
15:30 – 16:45
Título: Arquitetura de Soluções com o Windows Server AppFabric, WCF e WF – Patterns de Aplicações, Serviços e Workflows
Palestrante (s): Waldemir Cambiucci,
Sala: Jaçanã 1
Público: Desenvolvedores / Profissionais de TI
17:15 – 18:30
Título: Scrum Process Template para TFS 2010: Seja ágil de verdade! – 150 min
Palestrante (s): André Dias, Giovanni Bassi,
Sala: Cantareira 5
Público: Desenvolvedores / Profissionais de TI

Programação do dia 14/09/2010

09:00 – 10:15
Título: Windows Server AppFabric Caching – construindo aplicações com alto desempenho na plataforma Microsoft
Palestrante (s): Osvaldo Daibert,
Sala: Jaçanã 1
Público: Desenvolvedores / Profissionais de TI
10:45 – 12:00
Título: Mapeando o Application Architecture Guide para os Frameworks da Microsoft
Palestrante (s): Rogerio Cordeiro,
Sala: Jaçanã 1
Público: Desenvolvedores / Profissionais de TI
13:45 – 15:00
Título: Construindo Aplicações de Composição e SOA para o mundo real na plataforma Microsoft
Palestrante (s): Waldemir Cambiucci,
Sala: Jaçanã 1
Público: Desenvolvedores / Profissionais de TI
15:30 – 16:45
Título: Implementando Serviços RESTful usando o Microsoft .NET Framework
Palestrante (s): Israel Aece,
Sala: Cantareira 5
Público: Desenvolvedores / Profissionais de TI
17:15 – 18:30
Título: Aplicações WEB com Silverlight 4 fora do Browser
Palestrante (s): Djonatas Tenfen, Rogerio Cordeiro,
Sala: Cantareira 3
Público: Desenvolvedores / Profissionais de TI

Programação do dia 15/09/2010

09:00 – 10:15
Título: Um mergulho no ADO.NET Entity Framework 4
Palestrante (s): Renato Haddad,
Sala: Cantareira 5
Público: Desenvolvedores / Profissionais de TI
10:45 – 12:00
Título: Criando protótipos com o Microsoft Expression Blend + SkethFlow
Palestrante (s): Fernando Figuera,
Sala: Cantareira 5
Público: Desenvolvedores / Profissionais de TI
13:45 – 15:00
Título: Criando Rich Internet Applications (RIA) com Silverlight 4 e WCF RIA Services
Palestrante (s): Kelps Leite de Sousa,
Sala: Cantareira 3
Público: Desenvolvedores / Profissionais de TI
15:30 – 16:45
Título: Paralelismo no .Net 4.0: Patterns, dicas e truques
Palestrante (s): Otavio Pecego Coelho,
Sala: Jardim São Paulo
Público: Desenvolvedores / Profissionais de TI
17:15 – 18:30
Título: Tudo o que você precisa saber sobre Data Mining
Palestrante (s): Roberval Ranches,
Sala: Cantareira 7
Público: Desenvolvedores / Profissionais de TI

Fluent NHibernate

Introdução

Fluent NHibernate oferece uma alternativa para os arquivos de mapeamento XML do NHibernate utilizando Fluent Interfaces. Ao invés de escrever documentos XML (arquivos .hbm.xml), Fluent NHibernate permite que você escreva mapeamentos em código C #. Isto permite uma refatoração de maneira fácil e melhora a legibilidade do código.

Também existem outras ferramenta para Fluent NHibernate, como:

  • Auto-Mapeamentos – onde os mapeamentos são gerados a partir do desenho de suas entidade.
  • Testes de Persistência – teste de ida e volta (round-trip testing) para as suas entidades, sem nunca ter que escrever uma linha de CRUD.
  • Configuração Full do aplicativo com Fluent Configuration API
  • Configuração de banco de dados – configurar o banco de dados em código fluente

Fluent NHibernate não faz parte do Core do NHibernate, mas é totalmente compatível com a versão 2.1 do NHibernate. Read more

Fluent Interfaces

Fluent Interfaces (Eric Evans e Martin Fowler) é uma maneira de implementar um objeto orientado, API (Application programming interface), de uma forma que visa proporcionar um código mais legível.
É normalmente implementado usando o método de encadeamento para retransmitir o contexto para uma próxima chamada. Geralmente, o contexto é definido através do valor de retorno de um método chamado auto-referenciado, onde o novo contexto é equivalente ao contexto passado.
Isto faz com que seu código fique mais transparente e a leitura passa a ser mais fácil e conseqüentemente o desenvolvimento.

Bom vamos direto ao assunto, veja o exemplo abaixo:

#region Fluent Example

public interface IConfigurationFluent
{
  IConfigurationFluent SetColor(string color);
  IConfigurationFluent SetHeight(int height);
  IConfigurationFluent SetLength(int length);
  IConfigurationFluent SetDepth(int depth);
}

public class ConfigurationFluent : IConfigurationFluent
{
  string color;
  int height;
  int length;
  int depth;

public IConfigurationFluent SetColor(string color)
{
  this.color = color;
  return this;
}

public IConfigurationFluent SetHeight(int height)
{
  this.height = height;
  return this;
}

public IConfigurationFluent SetLength(int length)
{
  this.length = length;
  return this;
}

public IConfigurationFluent SetDepth(int depth)
{
  this.depth = depth;
  return this;
}
#endregion

public class ExampleProgram
{
  public static void Main(string[] args)
  {
    //Standard Example
    IConfiguration config = new Configuration
    {
      Color = "blue",
      Height = 1,
      Length = 2,
      Depth = 3
    };

    //Fluent Example
    IConfigurationFluent fluentConfig =
      new ConfigurationFluent().SetColor("blue")
        .SetHeight()
        .SetLength(2)
        .SetDepth(3);
  }
}

Referência:

http://en.wikipedia.org/wiki/Fluent_interface

The Hero