2. Introdução Desenvolvido em 1971 para softwares. Na época estava em desenvolvimento aplicações em smalltalk – Linguagem pai da OO. É descrito como uma arquitetura. Combina vários padrões de projeto. Foi proposto conforme o crescimento dos programas da época. É a melhor opção 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 código. Melhora a escalabilidade do projeto desenvolvido. KISS, DRY, RESTFul Maior facilidade em implementação de testes unitários.
7. Erros Comuns Quebra de arquitetura / padrão 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. Lógica de negócios em Views ou Helpers: pode Arnaldo? Redundância de código Use as ferramentas do framework, elas já foram (na maioria dos casos) bem testadas pela comunidade. Não faça uma coisa duas vezes. Se for o caso, crie um componente ou helper. Tente fazer componentes gerais e os extenda quando necessário.Sabe herança e polimorfismo? Código Motherfucker Não deixe os interfaces malucos, use helpers quando há código nas views. Tente deixar os helpers e os mini códigos da view “produtor like” Não faça de seu método do controller um macarrão. Usar frenéticamente as idéias de não redundância.
10. Projetos Pequenos também precisam de Frameworks e MVC! Até projeto pequeno fica ruim de dar manutenção dependendo do fédaputa que desenvolveu. Projetos pequenos costumam aceitar milhares de puxadinhos. Facilidade em configuração de otimizações para SEO devido a view ser renderizada no final do processo. Facilidade de implementar boas práticas de front end. Os RouteEngines já implementam url amigáveis. Validação serversidede formulários automática. Erros banais que podem ser evitados com as ferramentas existentes: Falhas de codificação Sanitização Problemas gerados por concorrência na base de dados