Download pdf - Apresentacao siemens

Transcript
Page 1: Apresentacao siemens

Siemens

MVC E UNIT TEST

Page 2: Apresentacao siemens

Revolução != Evolução

X

Page 3: Apresentacao siemens

Hoje

Objetivo da Siemens Estratégia

• Máximo 10% de erro

Page 4: Apresentacao siemens

Proposta

Objetivos da Siemens Estratégia

• Máximo 10% erro

• Aumento de qualidade do software

• Reutilização de código

• Melhorar qualidade do código

• MVC

• Unit Test

Page 5: Apresentacao siemens

O que é MVC• MVC = Model View Controller

• É um Pattern que separa lógica de negócios da apresentação

• Open Source

Page 6: Apresentacao siemens

O que é Asp.Net MVC

• Implementação do pattern MVC para asp.net

• Um novo template do VS

• Uma opção

Page 7: Apresentacao siemens

Mitos

• Substituto do WebForms

• Bala de Prata

Page 8: Apresentacao siemens

O que é Unit Test

Definição: um pedaço de código que invoca um outro pedaço de código e

checa se as informações estão com o esperado e o fluxo logico é executado

da maneira correta

Page 9: Apresentacao siemens

Porque MVC

O que temos Com MVC

• Teste do macaco

• Código acoplado as telas, graças aos eventos no codebehind

• Criação de componentes com HTML mais complexo uma tarefa difícil e que leva tempo

• Excesso de abstração que provoca perda de tempo e dificuldade de usar linguagens client-side, caso não souber o que o componente pronto vai gerar

• Poderíamos utilizar com facilidade um framework de teste, como o Nunit.

• O código de negócios ficaria completamente independente das View e do banco de dados

• Controle total sobre o HTML exibido e facilidade de molda-lo a maneiraque desejar

• Controle total e sinergia com linguagens client-side

Page 10: Apresentacao siemens

Porque Unit TestO que temos Com Unit Test

• Receio de mexer com código legado

• Testes que demoram minutos por causa de uma sequencia logica de tarefas a serem executadas

• Cada um programa da maneira que acha melhor sem nenhum padrão.

• Única documentação é a especificação

• Segurança em mexer em código legado

• Não importa o tamanho ou dependência dos testes; eles são executados em milésimos de segundos

• Você programando para testes o código ganha automaticamente simplicidade, consistência e padronização.

• Serve como documentação e mostra claramente a ideia que o desenvolvedor teve quando escreveu o código

Page 11: Apresentacao siemens

Desvantagens Unit Test

• Grande curva de aprendizado

• Testes mal escritos ocultam erros

Page 12: Apresentacao siemens

Pontos Fortes

MVC WebForms

• Controle Total sobre o HTML

• Separação de UI e código

• Fácil de testar (código)

• Suporta varias Engines

• Sem ViewState

• Tamanho da página menor

• Fácil integração com frameworks

externos, como JQuery

• Grande capacidade em RAD

• Controles ricos no toolbox

• Dirigido a eventos o que ajuda no

aprendizado de quem conhece

WinForms ou similar

Page 13: Apresentacao siemens

Fraquezas

MVC WebForms

• Não é dirigido o que dificulta o

entendimento a primeira vista

• Não tem um bom suporte a controles

externos como o toolbox do

WebForms

• Sem ViewState pode ser também

uma desvantagem

• UI e codigo (codebehind) é de difícil

separação

• Difícil de testar

• Paginas pesadas por causa do

ViewState

Page 14: Apresentacao siemens

Empecilhos

MVC WebForms

• Grande curva de aprendizado caso

não conhecer a estrutura de

funcionamento de uma aplicação

web

• Difícil adotar outros frameworks de

view e separação de preocupações

Page 15: Apresentacao siemens

Vantagens

MVC WebForms

• Facilita Testes e utilização de TDD

• Permite o uso das mesmas models

em diferentes UI e interfaces

• Rápida criação de protótipos

Page 16: Apresentacao siemens

Finalizando...

Web Forms MVC

• Plug and Play • Expõe a arquitetura

Page 17: Apresentacao siemens

Bibliografia

The Art of Unit Testing

Asp.Net Mvc 2 in action