Mvc
-
Upload
lcbj -
Category
Technology
-
view
4.346 -
download
3
Transcript of Mvc
![Page 1: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/1.jpg)
Análise e Projeto
Msc Luiz Barboza
![Page 2: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/2.jpg)
Padrões de ArquiteturaCamadas e MVC
Camadas MVC Classes de Análise
GUI View Boundary
Negócio Control Control
Persistência Model Entity
![Page 3: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/3.jpg)
Um abstração Descreve:
Propriedades (atributos) Comportamento (operações) Relacionamentos Semântica
Nome da classe
Atributos
Operações
Professor
nameProfessorId : UniqueId
create()save()delete()change()
UMLRepresentação de Classe
![Page 4: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/4.jpg)
Boundary
Entity
Control
<<boundary>>
<<control>>
<<entity>>
=
=
=
MVC em UML
![Page 5: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/5.jpg)
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
![Page 6: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/6.jpg)
Customer
<<boundary>>
<<boundary>>
<<control>>
<<boundary>>
<<entity>> <<entity>>
Boundary
![Page 7: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/7.jpg)
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
![Page 8: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/8.jpg)
Control
![Page 9: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/9.jpg)
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
![Page 10: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/10.jpg)
Representa entidade do domínio de negócio
Representa informação persistente
Independe de ambiente e altamente reusável.
Entity
Entity
![Page 11: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/11.jpg)
Entity
![Page 12: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/12.jpg)
Deve representar entidades do domínio do problema
Deve conter as validações de negócio que sao restritas a estas entidades.
Entity
![Page 13: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/13.jpg)
Pela interações é possível identificar os métodos
Boundary Control
orderIDdatesalesTotaltaxshipDate
cada
stra
rClie
nte(
)
cadastrarCliente()
Mensagem
Identificação dos Métodos
![Page 14: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/14.jpg)
1: cadastrarCliente()
Objeto Cliente Objeto Fornecedor
Mensagem
:Boundary :Control
Escopo de atividade
Chamada localLinha de vida
1.1:validarCredito()
Numeração de seqüência demensagens
UML: Diagrama de Seqüência
![Page 15: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/15.jpg)
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>>
![Page 16: Mvc](https://reader036.fdocumentos.com/reader036/viewer/2022082703/55722213d8b42a36668b5241/html5/thumbnails/16.jpg)
Análise e Projeto
Msc Luiz Barboza