SlideShare una empresa de Scribd logo
1 de 11
MVC
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.
Diagrama básico Controller View Model
Padrões comuns em FW Componentes Bibliotecas Controller View Model ORM Helpers DBDriver File Engine ...
Padrões comuns em  FW Web Componentes Bibliotecas RouteEngine Client Dispatcher Controller Model View ORM Helpers DB Driver File Engine ...
Routing... StaticBypass Requisição Dispatcher Controller Método View Render ...
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.
O Problema da Metade do Caminho
O Caminho Feliz!
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
MVC e Frameworks MVC

Más contenido relacionado

La actualidad más candente

Usando o Selenium VBA para extrair informações da Web
Usando o Selenium VBA para extrair informações da WebUsando o Selenium VBA para extrair informações da Web
Usando o Selenium VBA para extrair informações da WebTomás Vásquez
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvcTadeu Matos
 
Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Gabriel Rodrigues Couto
 
O que é framework
O que é frameworkO que é framework
O que é frameworkfcdigital
 
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - Joinville
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - JoinvilleExtração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - Joinville
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - JoinvilleRenato Groff
 
Demoiselle e o novo paradigma HTML5 Restful
Demoiselle e o novo paradigma HTML5 RestfulDemoiselle e o novo paradigma HTML5 Restful
Demoiselle e o novo paradigma HTML5 RestfulDemoiselle Framework
 
Uma introdução ao Powershell
Uma introdução ao PowershellUma introdução ao Powershell
Uma introdução ao Powershelldemetrioi
 
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...Renato Groff
 

La actualidad más candente (20)

Desvendando ASP.NET MVC
Desvendando ASP.NET MVCDesvendando ASP.NET MVC
Desvendando ASP.NET MVC
 
Jheat
JheatJheat
Jheat
 
SPA com CSharp
SPA com CSharpSPA com CSharp
SPA com CSharp
 
Polymer Starter Kit
Polymer Starter KitPolymer Starter Kit
Polymer Starter Kit
 
Usando o Selenium VBA para extrair informações da Web
Usando o Selenium VBA para extrair informações da WebUsando o Selenium VBA para extrair informações da Web
Usando o Selenium VBA para extrair informações da Web
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Comtec2010 asp.net mvc
Comtec2010 asp.net mvcComtec2010 asp.net mvc
Comtec2010 asp.net mvc
 
Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019
 
O que é framework
O que é frameworkO que é framework
O que é framework
 
Vanilla JS
Vanilla JSVanilla JS
Vanilla JS
 
Vanilla js
Vanilla jsVanilla js
Vanilla js
 
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - Joinville
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - JoinvilleExtração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - Joinville
Extração de Dados da Web com Selenium WebDriver - SQLSaturday #817 - Joinville
 
Boas práticas Magento 2
Boas práticas Magento 2Boas práticas Magento 2
Boas práticas Magento 2
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
Demoiselle e o novo paradigma HTML5 Restful
Demoiselle e o novo paradigma HTML5 RestfulDemoiselle e o novo paradigma HTML5 Restful
Demoiselle e o novo paradigma HTML5 Restful
 
Uma introdução ao Powershell
Uma introdução ao PowershellUma introdução ao Powershell
Uma introdução ao Powershell
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 
Magento: Mitos vs Vantagens
Magento: Mitos vs VantagensMagento: Mitos vs Vantagens
Magento: Mitos vs Vantagens
 
PWA: State of Art
PWA: State of ArtPWA: State of Art
PWA: State of Art
 
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
Extração Automatizada de Dados da Web com Selenium WebDriver - Web Scraping -...
 

Similar a MVC e Frameworks MVC

01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...iMasters
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo Kono
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de MicroservicosNorberto Enomoto
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosRodolfo Fadino Junior
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendThiago Sinésio
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Lucas Augusto Carvalho
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo maisakamud
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCguest489a65e
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPSérgio Vilar
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...tdc-globalcode
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Rafael Oliveira
 

Similar a MVC e Frameworks MVC (20)

01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
Introdução C#
Introdução C#Introdução C#
Introdução C#
 
Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Desenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São CarlosDesenvolvimento web com .NET Core - Meetup São Carlos
Desenvolvimento web com .NET Core - Meetup São Carlos
 
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e ZendAnálise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
Análise sobre a utilização de frameworks em PHP: CakePHP, CodeIgniter e Zend
 
Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5Palestra - Symfony Framework MVC PHP 5
Palestra - Symfony Framework MVC PHP 5
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais.NET 2015, ASP.NET 5, C# 6 e tudo mais
.NET 2015, ASP.NET 5, C# 6 e tudo mais
 
ASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVCASP.NET Web Forms X ASP.NET MVC
ASP.NET Web Forms X ASP.NET MVC
 
Desenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHPDesenvolvimento Web com CakePHP
Desenvolvimento Web com CakePHP
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
Infoeste 2014 - Desenvolvimento de um CMS com Codeigniter Framework(PHP)
 
Cake Php
Cake PhpCake Php
Cake Php
 
InfraGUIBuilder
InfraGUIBuilderInfraGUIBuilder
InfraGUIBuilder
 

MVC e Frameworks MVC

  • 1. MVC
  • 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.
  • 4. Padrões comuns em FW Componentes Bibliotecas Controller View Model ORM Helpers DBDriver File Engine ...
  • 5. Padrões comuns em FW Web Componentes Bibliotecas RouteEngine Client Dispatcher Controller Model View ORM Helpers DB Driver File Engine ...
  • 6. Routing... StaticBypass Requisição Dispatcher Controller Método View Render ...
  • 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.
  • 8. O Problema da Metade do Caminho
  • 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