Programação
Confira a programação:
| Hora | Palestra |
| 10:00 | Abertura do Evento Emmanuel Brandão / Felipe Rodrigues |
| 10:20 | Entenda porque ASP.NET MVC pode te ajudar a ter uma arquitetura melhor Victor Cavalcante |
| 11:10 | Integração Contínua: Muito Além do Build Juan Lopes |
| 11:50 | Lightning Talk (Organização: Leandro Daniel) |
| 12:00 | Almoço (incluso) |
| 13:40 | Projetando Aplicativos para a Escalabilidade – Tirando o melhor da Plataforma Windows Azure Otavio Coelho |
| 14:30 | AOP: Desenvolvimento de aplicações usando aspectos Fábio Falavinha |
| 15:20 | Lightning Talk (Organização: Leandro Daniel) |
| 15:30 | Coffee Break (incluso) |
| 16:00 | TDD e sua influência no design Mauricio Aniche |
| 16:50 | Gerenciando dependências com NuPack Vinicius Quaiato |
| 17:40 | Lightning Talk (Organização: Leandro Daniel) |
| 17:50 | OData: REST com qualidade Elemar Jr. |
| 18:40 | Encerramento (Organização DNAD) |
Entenda porque ASP.NET MVC pode te ajudar a ter uma arquitetura melhor
Hoje o ASP.NET MVC já é um sucesso, cada vez mais e mais projetos aderem a este novo framework de desenvolvimento web, venha conhecer como este framework ajuda a construir uma aplicação com uma arquitetura melhor, com desacoplamento e facilitando os testes unitários, também será abordado as novidades da versão 3.0.
Integração Contínua: Muito Além do Build
Muitos pensam que a Integração Contínua resume-se à disponibilização de um servidor que continuamente obtém uma cópia do projeto e realiza sua compilação. O objetivo desta apresentação é mostrar a integração contínua como uma virtude a ser cultivada pelos desenvolvedores, independente de um servidor. Consiste em uma série de práticas que tornam possível integrar o trabalho de diversos membros de um projeto, verificando a integridade do mesmo, de forma a realizar o mínimo esforço possível. As práticas envolvidas na Integração Contínua frequentemente culminam na capacidade de rapidamente transformar código em um produto entregável com maior freqüência, ou seja, o Deployment Contínuo.
Projetando Aplicativos para a Escalabilidade – Tirando o melhor da Plataforma Windows Azure
A nuvem oferece oportunidades únicas que estavam disponíveis antes apenas para as grandes empresas: datacenters geograficamente distribuídos, quantidade massiva de recursos e o provisionamento elástico destes recursos. Como podemos tirar vantagem destas capacidades? Quais são os padrões de design necessários para tirar o melhor destas capacidades da forma mais eficiente? Esta sessão utilizará exemplos concretos de aplicativos que tiveram sucesso e que foram otimizados para estes cenários.
AOP: Desenvolvimento de aplicações usando aspectos
Não é fácil abstrair um modelo de objetos capaz de mapear suas operações através de conceitos como: herança, polimorfismo, condições por contrato, mas mesmo assim a orientação a objetos ajuda a expressar melhor o problema a ser resolvido. Existe apenas um ponto que não pode ser mapeado de uma forma simples e fácil com OO, é a modelagem do comportamento dos objetos.
Para modelar o comportamento de objetos utilizamos sempre um padrão de projeto, como Strategy, Command, Factory, enfim, uma série de alternativas nas quais não se consegue extrair a essência a partir de um modelo mais simples. Neste caso, podemos utilizar um complemento ao paradigma de objetos, que é o paradigma Orientado a Aspectos (AOP).
AOP foca na modularização de uma aplicação em aspectos. Isto é, aspectos ficam observando o ciclo de vida e interações entre os objetos de um sistema via troca de mensagens, até que possam agir. A seguir vamos entender melhor o que é um aspecto.
O uso do paradigma Orientado a Aspecto (AOP) complementa implementações no modelo orientado a objeto facilitando o desenvolvimento das aplicações, separando a implementação de regras de negócio de infra-estrutura. AOP traz mecanismos que interagem e controlam objetos em tempo de execução e compilação, abstraindo qualquer implementação que afetará o uso da aplicação horizontalmente. O corte horizontal na aplicação é feito quando funcionalidades genéricas que interagem diversas vezes no ciclo de vida dos objetos são candidatas a esta abstração por parte de um aspecto.
TDD e sua influência no design
TDD transforma o teste em uma atividade de design, na qual os programadores utilizam os testes para esclarecer as expectativas sobre o que um pedaço de código deve fazer [1]. Apesar desta ser uma definição ser comum entre os desenvolvedores, no dia-a-dia poucos usam o real poder dos testes para guiar o design. Esta palestra mostra exemplos práticos de como o feedback dos testes pode influenciar e guiar o desenvolvedor a um design menos acoplado e mais coeso.
[1] Freeman, S.; Pryce, N., Growing Object-Oriented Software, Guided by Tests. First Edition, Addison-Wesley Professional, 2009
Gerenciando dependências com NuPack
Aplicações possuem dependências, isto é um fato. Como gerenciá-las e distribuí-las de forma simples? Como atualizar de uma versão para outra? Entenda como o NuPack facilita e melhora o trabalho com dependências em nossas aplicações.
Apresentação do conceito REST. Diferenças entre serviços REST e RPC. REST como alternativa arquitetural (pontos fortes e fracos). Principais decisões relacionadas com REST. Apresentando OData. OData é REST. Benefícios da adoção de OData.
Veja abaixo o que estamos reservando nessa edição do evento:
Por: Leandro Daniel
Titulo: Design emergente através de métricas
Descrição: Saiba como as métricas de software podem ajudá-lo a localizar elementos de design ocultos no seu código, permitindo que eles aflorem em padrões idiomáticos.
Por: Vinicius Quaiato
Titulo: Stub x Mocks – Entenda definitivamente a diferença
Descrição: Quando trabalhamos com testes de unidade é comum utilizarmos recursos como Mocks e Stubs para auxiliar e viabilziar os testes. No entanto a diferença entre estas duas técnicas é bastante mal compreendida. Entenda agora, de uma vez por todas, a real difereça entre mocks e stubs, e melhore a escrita dos teus unit tests.
Por: Emmanuel Brandão
Título: MEF, em 5 minutos!
Descrição: Saiba o que é MEF e o que esse framework pode fazer por você na criação de plug-ins para suas aplicações.
Por: Rodrigo Vidal
Titulo: Functional Programming
Descrição: Como a Programação Funcional pode influenciar no design da sua aplicação, e melhorar sua implementação, utilizando a Linguagem F#.
Por: Paulo Henrique Martins
Titulo: Criando aplicações para iPhone usando C# com o monotouch
Descrição: Saiba como podemos utilizar o SDK da Apple para iPhone através do C#.
Por: Sidney Lima Filho
Titulo: Client Undertow: Quando boas práticas não são recomendadas.
Descrição: No desenvolvimento de software muitas vezes nos pegamos interagindo com mais de uma linguagem, para cada finalidade, porém o pensamento do desenvolvedor geralmente não muda e se acostuma a utilizar as mesmas soluções do passado. Neste lightning talk serão expostas as diferenças entre a linguagem C# e Javascript no que tange a linha de raciocínio de desenvolvimento, deixando as mesmas reflexões com relação a outras linguagens.
[...] Até o momento alguns dos temas são: Integração Contínua: Muito Além do Build Projetando Aplicativos para a Escalabilidade – Tirando o melhor da Plataforma Windows Azure AOP: Desenvolvimento de aplicações usando aspectos TDD e sua influência no design Gerenciando dependências com NuPack OData: REST com qualidade. Confira a grade detalhada aqui: http://dnad.dotnetarchitects.net/dnad/2010/programacao/ [...]
[...] ). Nas palestras vamos abordar integração continua, escalabilidade e TDD entre outros ( veja a programação [...]
[...] Mais detalhes sobre as palestras e palestrantes podem ser vistos aqui. [...]