MVC<br />
Introdução<br />Desenvolvido em 1971 para softwares. Na época estava em desenvolvimento aplicações em smalltalk – Linguage...
Diagrama básico<br />Controller<br />View<br />Model<br />
Padrões comuns em FW<br />Componentes<br />Bibliotecas<br />Controller<br />View<br />Model<br />ORM<br />Helpers<br />DBD...
Padrões comuns em  FW Web<br />Componentes<br />Bibliotecas<br />RouteEngine<br />Client<br />Dispatcher<br />Controller<b...
Routing...<br />StaticBypass<br />Requisição<br />Dispatcher<br />Controller<br />Método<br />View Render<br />...<br />
Erros Comuns<br />Quebra de arquitetura / padrão<br />NÃO FAÇA ACESSO A DADOS PELA CAMADA DE CONTROLE - O acesso direto ba...
O Problema da Metade do Caminho<br />
O Caminho Feliz!<br />
Projetos Pequenos também precisam de Frameworks e MVC!<br />Até projeto pequeno fica ruim de dar manutenção dependendo do ...
MVC e Frameworks MVC
Próximos SlideShares
Carregando em…5
×

MVC e Frameworks MVC

2.419 visualizações

Publicada em

Publicada em: Tecnologia
1 comentário
1 gostou
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
2.419
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
59
Comentários
1
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

MVC e Frameworks MVC

  1. 1. MVC<br />
  2. 2. Introdução<br />Desenvolvido em 1971 para softwares. Na época estava em desenvolvimento aplicações em smalltalk – Linguagem pai da OO.<br />É descrito como uma arquitetura. Combina vários padrões de projeto.<br />Foi proposto conforme o crescimento dos programas da época.<br />É a melhor opção de arquitetura para o desenvolvimento webprincipalmente por parecer com o modelo “frontend - backend”.<br />O projeto ficará melhor estruturado devido a granularidade proposta pelo mvc.<br />Provê maior aproveitamento de código.<br />Melhora a escalabilidade do projeto desenvolvido.<br />KISS, DRY, RESTFul<br />Maior facilidade em implementação de testes unitários.<br />
  3. 3. Diagrama básico<br />Controller<br />View<br />Model<br />
  4. 4. Padrões comuns em FW<br />Componentes<br />Bibliotecas<br />Controller<br />View<br />Model<br />ORM<br />Helpers<br />DBDriver<br />File Engine<br />...<br />
  5. 5. Padrões comuns em FW Web<br />Componentes<br />Bibliotecas<br />RouteEngine<br />Client<br />Dispatcher<br />Controller<br />Model<br />View<br />ORM<br />Helpers<br />DB Driver<br />File Engine<br />...<br />
  6. 6. Routing...<br />StaticBypass<br />Requisição<br />Dispatcher<br />Controller<br />Método<br />View Render<br />...<br />
  7. 7. Erros Comuns<br />Quebra de arquitetura / padrão<br />NÃO FAÇA ACESSO A DADOS PELA CAMADA DE CONTROLE - O acesso direto base de dados deverá sempre ser feito pelo Model, ou ainda, se houver outro framework por trás do model, deverá ser usado.<br />Lógica de negócios em Views ou Helpers: pode Arnaldo?<br />Redundância de código<br />Use as ferramentas do framework, elas já foram (na maioria dos casos) bem testadas pela comunidade.<br />Não faça uma coisa duas vezes. Se for o caso, crie um componente ou helper.<br />Tente fazer componentes gerais e os extenda quando necessário.Sabe herança e polimorfismo?<br />Código Motherfucker<br />Não deixe os interfaces malucos, use helpers quando há código nas views.<br />Tente deixar os helpers e os mini códigos da view “produtor like”<br />Não faça de seu método do controller um macarrão.<br />Usar frenéticamente as idéias de não redundância.<br />
  8. 8. O Problema da Metade do Caminho<br />
  9. 9. O Caminho Feliz!<br />
  10. 10. Projetos Pequenos também precisam de Frameworks e MVC!<br />Até projeto pequeno fica ruim de dar manutenção dependendo do fédaputa que desenvolveu.<br />Projetos pequenos costumam aceitar milhares de puxadinhos.<br />Facilidade em configuração de otimizações para SEO devido a view ser renderizada no final do processo.<br />Facilidade de implementar boas práticas de front end.<br />Os RouteEngines já implementam url amigáveis.<br />Validação serversidede formulários automática.<br />Erros banais que podem ser evitados com as ferramentas existentes:<br />Falhas de codificação<br />Sanitização<br />Problemas gerados por concorrência na base de dados<br />

×