SlideShare ist ein Scribd-Unternehmen logo
1 von 19
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

Weitere ähnliche Inhalte

Was ist angesagt?

Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
Wagner Zaparoli
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
Bruno Grange
 

Was ist angesagt? (20)

Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Javascript Orientado a Objeto
Javascript Orientado a ObjetoJavascript Orientado a Objeto
Javascript Orientado a Objeto
 
Gerência de Configuração
Gerência de ConfiguraçãoGerência de Configuração
Gerência de Configuração
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Introdução a programação para a Internet
Introdução a programação para a InternetIntrodução a programação para a Internet
Introdução a programação para a Internet
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Wireframes para sites e dispositivos móveis
Wireframes para sites e dispositivos móveisWireframes para sites e dispositivos móveis
Wireframes para sites e dispositivos móveis
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)Minicurso de JavaScript (Portuguese)
Minicurso de JavaScript (Portuguese)
 
Exemplos de Design Patterns em Java
Exemplos de Design Patterns em JavaExemplos de Design Patterns em Java
Exemplos de Design Patterns em Java
 
PHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de DadosPHP Aula07 - conexão Com Banco de Dados
PHP Aula07 - conexão Com Banco de Dados
 
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
Banco de Dados II Aula 04 - MODELAGEM DE DADOS (Generalização e Especialização)
 
Curso de ReactJS
Curso de ReactJSCurso de ReactJS
Curso de ReactJS
 
Estrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da DisciplinaEstrutura de Dados II - Apresentação da Disciplina
Estrutura de Dados II - Apresentação da Disciplina
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von Suzana Viana Mota

Mehr von 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
 

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