Model (Modelo)
●
Representa os dados do programa.
●
Maneja os dados e controla suas
transformações.
●
Classes que trabalham no
armazenamento e busca de dados
3
Model – Exemplo
●
Classe conta.
●
Diferentes modos de criar novas contas
(conta comum, especial, conjunta)
●
Mudar informações sobre um conta
4
View (Apresentação)
●
Representa a visão dos dados.
●
Apresenta os dados resultantes do
model para o usuário.
●
Classes de interface gráfica
5
View – Exemplo
●
Página web de uma aplicação.
●
Páginas de login personalizadas.
●
Um administrador pode visualizar uma
página de login que outro usuário não vê.
6
Controller – Exemplo
●
Recebe um pedido para exibir uma lista
de clientes.
●
Solicita ao modelo a lista de clientes.
●
Entrega para uma nova view a lista a ser
exibida..
8
MVC – Benefícios
●
Padrão muito aceito no desenvolvimento
de aplicações Java.
●
Aplicações para a Web.
●
Facilidade na manutenção e reutilização
de código.
10
MVC – Benefícios
●
Separação lógica da aplicação.
●
Modelo representa os componentes.
●
Apresentação exibe os dados.
●
Controlador gerencia a aplicação
11
Aplicações Web
●
Muito comum embutir a lógica de
negócios com o resultado final.
●
Páginas HTML com códigos do servidor
na mesma página.
●
Dois modelos para desenvolvimento.
12
Model 1
●
Conhecida como page-centric.
●
Construir uma aplicação como um
conjunto de páginas JSP.
●
Facilidade de construção.
13
JavaBeans
● Componentes de softwares reutilizáveis.
● POJO
✔ Plain Old Java Objects (Os Singelos Clássicos
Objetos Java)
● Segue uma convenção particular.
JavaBeans
● Implementa a interface Serializable;
● Possui um construtor sem argumentos;
● Métodos "get" e "set";
● Pode conter qualquer método de tratamento de
eventos.
Modelo DAO
●
Data Acess Object
●
Padrão de desenvolvimento para acesso
ao Bando de Dados.
●
Presente no Model do MVC.
19
Modelo DAO
●
Interface independente para persistir objetos.
●
Todas funcionalidades de acesso aos dados e
trabalho em um só lugar.
●
Em geral um DAO para cada classe de objetos
que será persistido na base de dados.
20