SlideShare uma empresa Scribd logo
Padrões MVC
Prof. Suzana Mota
Design Patterns
● Boas Práticas de
Programação.
● São soluções de templates
abstratas de alto nível.
● Soluções que foram
utilizadas e testadas, o que
nos dá confiança em sua
eficácia.
Design Patterns
NÃO são:
● Solução para todos os
problemas.
● Você deve ter o
entendimento geral do seu
problema, generalizá-lo e
então aplicar o pattern
apropriado para a solução
desse problema.
• Nem todos os problemas
requerem um design
Pattern.
Design Patterns
MVC
● Padrão de Projeto de Software
que define a arquitetura em
Model, View e Control
● Separa a camada de
apresentação, da camada de
controle e da camada de dados.
MVC
● O Model faz toda a mágica:
Persiste os dados e os envia para
a view.
● Separa a camada de
apresentação, da camada de
controle e da camada de dados.
Mas por quê?
● Garantir a reusabilidade de código.
● A separação lógica de cada item do projeto.
● Facilitar a manutenção.
● Diminuir custos do projeto.
Model
● Representa os dados
● Maneja os dados e controla suas transformações
● Classes que trabalham na manipulação dos dados
View
● Representação da visualização dos dados
● Apresenta os dados trazidos pelo model
● Classes gerais de interface gráfica
Controller
● Faz a mediação dos dados de entrada, convertendo-
a em comandos para a camada de modelo ou de visão.
● Gerencia o tráfego entre as view e os modelos
Controller Exemplo
● Recebe um pedido da View para exibir uma lista de
clientes
● Solicita ao model a lista de clientes
● Entrega para a View a lista a ser exibida
Pacotes em Java
CRUD
● Create, Read, Update e Delete
● Create = Insert
● Read = Select
● Update = Update
● Delete = Delete
Mas como fazer o CRUD?
●Utilizando a Persistência
de dados.
● Utilize um SGBD
● E comandos em SQL
DAO
● Padrão de Projeto: Data Access Object
● Isola todo o acesso todo BD em classes simples.
● A instância é um objeto responsável por acessar os
dados.
Como funciona o DAO?
1. Crie a tabela no seu banco de dados.
CREATE TABLE ‘produto’(
‘Id’ (20) not null,
‘Nome’ text not null
‘Descricao’ text not null,
PRIMARY KEY(‘id’)
Como funciona o DAO?
2. Crie no modelo uma classe baseada naquela tabela
criada.
public class Produto{
Private int id;
Private String nome;
Private String descrição;
......
}
Como funciona o DAO?
3. Crie a classe DAO para cada classe criada no
modelo:
É AQUI
QUE O
CRUD
ACONTECE
public interface ProdutoDAO{
Void insert()
Void update()
Void delete()
Void select()
......
}
Em caso de dúvidas...
suzana.svm@gmail.com

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Uml
UmlUml
Uml
 
Aula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptx
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de Concorrência
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Aula 1: Virtualização
Aula 1: VirtualizaçãoAula 1: Virtualização
Aula 1: Virtualização
 
Node.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo BranasNode.js - #1 - Introdução - Rodrigo Branas
Node.js - #1 - Introdução - Rodrigo Branas
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Conceitos iniciais de Active Directory
Conceitos iniciais de Active DirectoryConceitos iniciais de Active Directory
Conceitos iniciais de Active Directory
 
Curso de Node JS Básico
Curso de Node JS BásicoCurso de Node JS Básico
Curso de Node JS Básico
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Aula 4 - Gestão de Projetos
Aula 4 - Gestão de ProjetosAula 4 - Gestão de Projetos
Aula 4 - Gestão de Projetos
 

Semelhante a Padrões MVC

Orientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a PraticaOrientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a Pratica
elliando dias
 
Orientacao A Objetos Da Teoria A Pratica Em Java
Orientacao A Objetos   Da Teoria A Pratica Em JavaOrientacao A Objetos   Da Teoria A Pratica Em Java
Orientacao A Objetos Da Teoria A Pratica Em Java
elliando dias
 
Orientação a objetos da teoria a prática em java
Orientação a objetos   da teoria a prática em java Orientação a objetos   da teoria a prática em java
Orientação a objetos da teoria a prática em java
Fabiano Lima
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
Rodrigo Kono
 
06-engenharia de softwere Análise e Projeto de Software.docx
06-engenharia de softwere Análise e Projeto de Software.docx06-engenharia de softwere Análise e Projeto de Software.docx
06-engenharia de softwere Análise e Projeto de Software.docx
JulioCesar371362
 

Semelhante a Padrões MVC (20)

Asp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 PtAsp.Net Mvc Dev Days09 V3 Pt
Asp.Net Mvc Dev Days09 V3 Pt
 
Gradle spring-hateoas-Lombok
Gradle spring-hateoas-LombokGradle spring-hateoas-Lombok
Gradle spring-hateoas-Lombok
 
Arquitetura Model View Controller
Arquitetura Model View ControllerArquitetura Model View Controller
Arquitetura Model View Controller
 
Apresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadasApresentacão Android Components - Programando em camadas
Apresentacão Android Components - Programando em camadas
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Projeto de Software
Projeto de SoftwareProjeto de Software
Projeto de Software
 
Arquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAOArquitetura MVC, JavaBeans e DAO
Arquitetura MVC, JavaBeans e DAO
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)O Futuro do Data Dude (VS DBPro)
O Futuro do Data Dude (VS DBPro)
 
Aula1
Aula1Aula1
Aula1
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven Design
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
Orientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a PraticaOrientação a Objetos - Da Teoria a Pratica
Orientação a Objetos - Da Teoria a Pratica
 
Orientacao A Objetos Da Teoria A Pratica Em Java
Orientacao A Objetos   Da Teoria A Pratica Em JavaOrientacao A Objetos   Da Teoria A Pratica Em Java
Orientacao A Objetos Da Teoria A Pratica Em Java
 
Orientação a objetos da teoria a prática em java
Orientação a objetos   da teoria a prática em java Orientação a objetos   da teoria a prática em java
Orientação a objetos da teoria a prática em java
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
06-engenharia de softwere Análise e Projeto de Software.docx
06-engenharia de softwere Análise e Projeto de Software.docx06-engenharia de softwere Análise e Projeto de Software.docx
06-engenharia de softwere Análise e Projeto de Software.docx
 

Mais de Suzana Viana Mota

Mais de Suzana Viana Mota (20)

Exercicios - Redes Móveis
Exercicios - Redes MóveisExercicios - Redes Móveis
Exercicios - Redes Móveis
 
exercicio-Organização e estrutura de Computadores
exercicio-Organização e estrutura de Computadoresexercicio-Organização e estrutura de Computadores
exercicio-Organização e estrutura de Computadores
 
Organizacao e estrutura de Computadores
Organizacao e estrutura de ComputadoresOrganizacao e estrutura de Computadores
Organizacao e estrutura de Computadores
 
Visão Computacional - Meetup AIGirls
Visão Computacional - Meetup AIGirlsVisão Computacional - Meetup AIGirls
Visão Computacional - Meetup AIGirls
 
Atividades de Sistemas Binários
Atividades de Sistemas BináriosAtividades de Sistemas Binários
Atividades de Sistemas Binários
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
 
Interface humano-computador baseada em Visão Computacional: uma solução para ...
Interface humano-computador baseada em Visão Computacional: uma solução para ...Interface humano-computador baseada em Visão Computacional: uma solução para ...
Interface humano-computador baseada em Visão Computacional: uma solução para ...
 
Mundo 4.0 - O que esperar do futuro
Mundo 4.0 - O que esperar do futuroMundo 4.0 - O que esperar do futuro
Mundo 4.0 - O que esperar do futuro
 
Como estudar melhor
Como estudar melhor Como estudar melhor
Como estudar melhor
 
Atalhos e dicas - Como se tornar um expert em Computadores
Atalhos e dicas - Como se tornar um expert em ComputadoresAtalhos e dicas - Como se tornar um expert em Computadores
Atalhos e dicas - Como se tornar um expert em Computadores
 
Aula Inaugural - Curso Técnico em Informática para Internet
Aula Inaugural - Curso Técnico em Informática para InternetAula Inaugural - Curso Técnico em Informática para Internet
Aula Inaugural - Curso Técnico em Informática para Internet
 
Criptografia e Privacidade
Criptografia e PrivacidadeCriptografia e Privacidade
Criptografia e Privacidade
 
Exercicio - Introdução a Hardware Revisão
Exercicio - Introdução a Hardware RevisãoExercicio - Introdução a Hardware Revisão
Exercicio - Introdução a Hardware Revisão
 
Desenvolvimento de software dedicado a pessoa com deficiência
Desenvolvimento de software dedicado a pessoa com deficiênciaDesenvolvimento de software dedicado a pessoa com deficiência
Desenvolvimento de software dedicado a pessoa com deficiência
 
Comparison of Human Machine Interfaces to control a Robotized Wheelchair
Comparison of Human Machine Interfaces to control a Robotized WheelchairComparison of Human Machine Interfaces to control a Robotized Wheelchair
Comparison of Human Machine Interfaces to control a Robotized Wheelchair
 
Formatei o computador e agora?
Formatei o computador e agora?Formatei o computador e agora?
Formatei o computador e agora?
 
Formatando o computador
Formatando o computadorFormatando o computador
Formatando o computador
 
Aula 09 - Gerenciamento de Recursos Humanos
Aula 09 - Gerenciamento de Recursos HumanosAula 09 - Gerenciamento de Recursos Humanos
Aula 09 - Gerenciamento de Recursos Humanos
 
Aula 08 - Gerenciamento da Qualidade
Aula 08 - Gerenciamento da QualidadeAula 08 - Gerenciamento da Qualidade
Aula 08 - Gerenciamento da Qualidade
 
Como tornar seu site atraente
Como tornar seu site atraenteComo tornar seu site atraente
Como tornar seu site atraente
 

Último

AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
Consultoria Acadêmica
 
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
Consultoria Acadêmica
 
AE02 - MAQUINAS TÉRMICAS UNICESUMAR 52/2024
AE02 - MAQUINAS TÉRMICAS UNICESUMAR 52/2024AE02 - MAQUINAS TÉRMICAS UNICESUMAR 52/2024
AE02 - MAQUINAS TÉRMICAS UNICESUMAR 52/2024
Consultoria Acadêmica
 
ATIVIDADE 2 - PSICOLOGIA ORGANIZACIONAL - ok.pdf
ATIVIDADE 2 - PSICOLOGIA ORGANIZACIONAL - ok.pdfATIVIDADE 2 - PSICOLOGIA ORGANIZACIONAL - ok.pdf
ATIVIDADE 2 - PSICOLOGIA ORGANIZACIONAL - ok.pdf
Colaborar Educacional
 
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
eliasmar2
 

Último (10)

Aula 03 - Gestão da Manutenção - OS e Software de Gerenciamento de Manutenção...
Aula 03 - Gestão da Manutenção - OS e Software de Gerenciamento de Manutenção...Aula 03 - Gestão da Manutenção - OS e Software de Gerenciamento de Manutenção...
Aula 03 - Gestão da Manutenção - OS e Software de Gerenciamento de Manutenção...
 
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
 
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
AE01 -ESTUDO CONTEMPORÂNEO E TRANSVERSAL -COMUNICAÇÃO ASSERTIVA E INTERPESSOA...
 
Checklist de renovação de AVCB -Auto de Vistoria do Corpo de Bombeiros.pdf
Checklist de renovação de AVCB -Auto de Vistoria do Corpo de Bombeiros.pdfChecklist de renovação de AVCB -Auto de Vistoria do Corpo de Bombeiros.pdf
Checklist de renovação de AVCB -Auto de Vistoria do Corpo de Bombeiros.pdf
 
AE02 - MAQUINAS TÉRMICAS UNICESUMAR 52/2024
AE02 - MAQUINAS TÉRMICAS UNICESUMAR 52/2024AE02 - MAQUINAS TÉRMICAS UNICESUMAR 52/2024
AE02 - MAQUINAS TÉRMICAS UNICESUMAR 52/2024
 
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
Aula_LUBRIFICAÇÃO_INDUSTRIAL AUTOMOTIVA_
 
ATIVIDADE 2 - PSICOLOGIA ORGANIZACIONAL - ok.pdf
ATIVIDADE 2 - PSICOLOGIA ORGANIZACIONAL - ok.pdfATIVIDADE 2 - PSICOLOGIA ORGANIZACIONAL - ok.pdf
ATIVIDADE 2 - PSICOLOGIA ORGANIZACIONAL - ok.pdf
 
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
1 - ESPAÇO CONFINADO - NORMA REGULAMENTADORA 33 - SLIDESHARE.pptx
 
Curso de operador de guindauto e guindaste
Curso de operador de guindauto e guindasteCurso de operador de guindauto e guindaste
Curso de operador de guindauto e guindaste
 
AE01 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL RELACOES DE CONSUMO E SUSTENTABILI...
AE01 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  RELACOES DE CONSUMO E SUSTENTABILI...AE01 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL  RELACOES DE CONSUMO E SUSTENTABILI...
AE01 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL RELACOES DE CONSUMO E SUSTENTABILI...
 

Padrões MVC

  • 2. Design Patterns ● Boas Práticas de Programação. ● São soluções de templates abstratas de alto nível. ● Soluções que foram utilizadas e testadas, o que nos dá confiança em sua eficácia.
  • 3. Design Patterns NÃO são: ● Solução para todos os problemas. ● Você deve ter o entendimento geral do seu problema, generalizá-lo e então aplicar o pattern apropriado para a solução desse problema. • Nem todos os problemas requerem um design Pattern.
  • 5. MVC ● Padrão de Projeto de Software que define a arquitetura em Model, View e Control ● Separa a camada de apresentação, da camada de controle e da camada de dados.
  • 6. MVC ● O Model faz toda a mágica: Persiste os dados e os envia para a view. ● Separa a camada de apresentação, da camada de controle e da camada de dados.
  • 7. Mas por quê? ● Garantir a reusabilidade de código. ● A separação lógica de cada item do projeto. ● Facilitar a manutenção. ● Diminuir custos do projeto.
  • 8. Model ● Representa os dados ● Maneja os dados e controla suas transformações ● Classes que trabalham na manipulação dos dados
  • 9. View ● Representação da visualização dos dados ● Apresenta os dados trazidos pelo model ● Classes gerais de interface gráfica
  • 10. Controller ● Faz a mediação dos dados de entrada, convertendo- a em comandos para a camada de modelo ou de visão. ● Gerencia o tráfego entre as view e os modelos
  • 11. Controller Exemplo ● Recebe um pedido da View para exibir uma lista de clientes ● Solicita ao model a lista de clientes ● Entrega para a View a lista a ser exibida
  • 13. CRUD ● Create, Read, Update e Delete ● Create = Insert ● Read = Select ● Update = Update ● Delete = Delete
  • 14. Mas como fazer o CRUD? ●Utilizando a Persistência de dados. ● Utilize um SGBD ● E comandos em SQL
  • 15. DAO ● Padrão de Projeto: Data Access Object ● Isola todo o acesso todo BD em classes simples. ● A instância é um objeto responsável por acessar os dados.
  • 16. Como funciona o DAO? 1. Crie a tabela no seu banco de dados. CREATE TABLE ‘produto’( ‘Id’ (20) not null, ‘Nome’ text not null ‘Descricao’ text not null, PRIMARY KEY(‘id’)
  • 17. Como funciona o DAO? 2. Crie no modelo uma classe baseada naquela tabela criada. public class Produto{ Private int id; Private String nome; Private String descrição; ...... }
  • 18. Como funciona o DAO? 3. Crie a classe DAO para cada classe criada no modelo: É AQUI QUE O CRUD ACONTECE public interface ProdutoDAO{ Void insert() Void update() Void delete() Void select() ...... }
  • 19. Em caso de dúvidas... suzana.svm@gmail.com