MVC e Frameworks MVC

  • View
    2.065

  • Download
    7

Embed Size (px)

Transcript

  • 1. MVC

2. Introduo
Desenvolvido em 1971 para softwares. Na poca estava em desenvolvimento aplicaes em smalltalk Linguagem pai da OO.
descrito como uma arquitetura. Combina vrios padres de projeto.
Foi proposto conforme o crescimento dos programas da poca.
a melhor opo de arquitetura para o desenvolvimento webprincipalmente por parecer com o modelo frontend - backend.
O projeto ficar melhor estruturado devido a granularidade proposta pelo mvc.
Prov maior aproveitamento de cdigo.
Melhora a escalabilidade do projeto desenvolvido.
KISS, DRY, RESTFul
Maior facilidade em implementao de testes unitrios.
3. Diagrama bsico
Controller
View
Model
4. Padres comuns em FW
Componentes
Bibliotecas
Controller
View
Model
ORM
Helpers
DBDriver
File Engine
...
5. Padres comuns emFW Web
Componentes
Bibliotecas
RouteEngine
Client
Dispatcher
Controller
Model
View
ORM
Helpers
DB Driver
File Engine
...
6. Routing...
StaticBypass
Requisio
Dispatcher
Controller
Mtodo
View Render
...
7. Erros Comuns
Quebra de arquitetura / padro
NO FAA 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 trs do model, dever ser usado.
Lgica de negcios em Views ou Helpers: pode Arnaldo?
Redundncia de cdigo
Use as ferramentas do framework, elas j foram (na maioria dos casos) bem testadas pela comunidade.
No faa uma coisa duas vezes. Se for o caso, crie um componente ou helper.
Tente fazer componentes gerais e os extenda quando necessrio.Sabe herana e polimorfismo?
Cdigo Motherfucker
No deixe os interfaces malucos, use helpers quando h cdigo nas views.
Tente deixar os helpers e os mini cdigos da view produtor like
No faa de seu mtodo do controller um macarro.
Usar frenticamente as idias de no redundncia.
8. O Problema da Metade do Caminho
9. O Caminho Feliz!
10. Projetos Pequenos tambm precisam de Frameworks e MVC!
At projeto pequeno fica ruim de dar manuteno dependendo do fdaputa que desenvolveu.
Projetos pequenos costumam aceitar milhares de puxadinhos.
Facilidade em configurao de otimizaes para SEO devido a view ser renderizada no final do processo.
Facilidade de implementar boas prticas de front end.
Os RouteEngines j implementam url amigveis.
Validao serversidede formulrios automtica.
Erros banais que podem ser evitados com as ferramentas existentes:
Falhas de codificao
Sanitizao
Problemas gerados por concorrncia na base de dados