Buscar

Modelagem MVC

Prévia do material em texto

Análise e Projeto
Msc Luiz Barboza
 
Padrões de Arquitetura
Camadas e MVC
EntityModelPersistência
ControlControlNegócio
Boundary ViewGUI
Classes de 
Análise
MVCCamadas
 
 Um abstração
 Descreve:
 Propriedades (atributos)
 Comportamento (operações)
 Relacionamentos
 Semântica
Nome da classe
Atributos
Operações
Professor
name
ProfessorId : UniqueId
create()
save()
delete()
change()
UML
Representação de Classe
 
Boundary
Entity
Control
<<boundary>>
<<control>>
<<entity>>
=
=
=
MVC em UML
 
 Modela a interação entra o 
núcleo do sistema e seus 
arredores
 GUI – Interface gráfica do usuário
 Interface com sistemas externos
 Dependente de ambiente
 Dependente da GUI
 Dependente do protocolo de 
comunicação com o sistema 
externo 
Boundary
Boundary
 
Customer
<<boundary>>
<<boundary>>
<<control>>
<<boundary>>
<<entity>> <<entity>>
Boundary
 
 Controla o comportamento de 
uma funcionalidade
 É acionada por uma Boundary e 
faz acesso a uma ou mais 
Entities
 É independente de ambiente, e 
concentra as regras de negócio 
Control
Control
 
Control
 
 Este tipo de classe deve fazer o controle de 
fluxo de negócio 
 Ela deve ser utilizada para centralizar as 
regras de negócio 
Control
 
 Representa entidade do 
domínio de negócio
 Representa informação 
persistente
 Independe de ambiente e 
altamente reusável. 
Entity
Entity
 
Entity
 
 Deve representar entidades do domínio do 
problema
 Deve conter as validações de negócio que 
sao restritas a estas entidades.
Entity
 
 Pela interações é possível identificar os métodos
Boundary Control
orderID
date
salesTotal
tax
shipDate
ca
da
str
arC
lie
nte
()
cadastrarCliente()
Mensagem
Identificação dos Métodos
 
1: cadastrarCliente()
Objeto Cliente Objeto Fornecedor
Mensagem
:Boundary :Control
Escopo de atividade
Chamada local
Linha de vida
1.1:
validarCredito()
Numeração de 
seqüência de
mensagens 
UML: Diagrama de Seqüência 
 
UML: Diagrama de Classe
 Com base nas comunicações é possível 
estabelecer os relacionamentos
 Considerando o padrão MVC, temos 
tipicamente a seguinte estrutura.
View
// Render the models()
// Request updates from models()
// Send user gestures to controller()
// Allows controller to select view()
Controller
// Defines application behavior()
// Maps user actions to model updates()
// Selects view for response()
// One for each use-case()
Model
// Encapsulates application data()
// Responds to state queries()
// Exposes application functionality()
// Notifies view of changes()
<<subscribe>>
 
Análise e Projeto
Msc Luiz Barboza

Continue navegando