Apresentacao siemens
-
Upload
marco-vinicius-teixeira -
Category
Technology
-
view
333 -
download
0
Transcript of Apresentacao siemens
Siemens
MVC E UNIT TEST
Revolução != Evolução
X
Hoje
Objetivo da Siemens Estratégia
• Máximo 10% de erro
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
O que é MVC• MVC = Model View Controller
• É um Pattern que separa lógica de negócios da apresentação
• Open Source
O que é Asp.Net MVC
• Implementação do pattern MVC para asp.net
• Um novo template do VS
• Uma opção
Mitos
• Substituto do WebForms
• Bala de Prata
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
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
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
Desvantagens Unit Test
• Grande curva de aprendizado
• Testes mal escritos ocultam erros
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
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
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
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
Finalizando...
Web Forms MVC
• Plug and Play • Expõe a arquitetura
Bibliografia
The Art of Unit Testing
Asp.Net Mvc 2 in action