Professional Documents
Culture Documents
Camadas
Universidade Catlica de Pernambuco
Cincia da Computao
Prof. Mrcio Bueno
poonoite@marciobueno.com
Fonte: Material da Prof Karina Oliveira
Definio
Definio
UI
Negcio
Dados
Comunicao
Negcio
Dados
Vantagens e Desvantagem
Vantagens:
Desvantagem:
Negcio
Negcio
Arquitetura em 3 camadas
Arquitetura em 3 camadas
Arquitetura em 3 camadas
Viso Arquitetural
UI
GUIAluno
GUIProfessor
IFachada
Negcio
Fachada
Aluno
ControladorAlun
o
IRepositorioAluno
ControladorProfessor
Professor
IRepositorioProfessor
Dados
RepositorioAlunoBDR
RepositorioProfessorBDR
10
Implementao da Arquitetura
em 3 Camadas
11
Implementao da Arquitetura
em 3 Camadas
Diviso em Pacotes
Um pacote um conjunto de classes.
Agrupar em um pacote classes fortemente
relacionadas.
O pacote deve ser visto como um elemento
altamente coeso:
12
Implementao da Arquitetura
em 3 Camadas
Diviso em Pacotes
Exemplo:
sistema
ui
aluno
negocio
aluno
excees
dados
aluno
excecoes
util
13
Implementao da Arquitetura
em 3 Camadas
Diviso em Pacotes
Para incluir uma classe em um pacote, utilizase a palavra reservada package.
Sintaxe: package nomePacote;
Obrigatoriamente, o primeiro comando do
cdigo-fonte.
Pacotes esto diretamente associados a
diretrios no sistema de arquivos.
Exemplos:
package sistema.ui.aluno;
package sistema.negocio.aluno;
14
Implementao da Arquitetura
em 3 Camadas
Diviso em Pacotes
Importando pacotes
Utilizar a palavra reservada import.
Pode-se importar uma classe especfica ou
todas as classes de um pacote.
Sintaxe:
import nomePacote.*;
import nomePacote.NomeClasse;
Exemplos:
import sistema.negocio.aluno.Aluno;
import sistema.negocio.aluno.*;
Programao Orientada a Objeto - Mrcio Bueno
15
Implementao da Arquitetura
em 3 Camadas
Entidades
public class Aluno { public class Endereco {
...
...
}
}
16
Implementao da Arquitetura
em 3 Camadas
Interface da Fachada
Ir oferecer todos os servios do
sistema.
Exemplo: Servios bsicos de
manuteno de um cadastro tais como
inserir, alterar, remover e buscar.
17
Implementao da Arquitetura
em 3 Camadas
Interface da Fachada
}
Programao Orientada a Objeto - Mrcio Bueno
18
Implementao da Arquitetura
em 3 Camadas
Fachada
19
Implementao da Arquitetura
em 3 Camadas
Fachada
public Fachada( ) {
this.controladorAluno = new ControladorAluno( );
}
public void inserirAluno(Aluno aluno) throws
ExcecaoElementoJaExistente, ExcecaoRepositorio {
this.controladorAluno.inserirAluno(aluno);
}
/* Continua aqui a implementao dos demais mtodos! */
}
20
Implementao da Arquitetura
em 3 Camadas
Controlador
21
Implementao da Arquitetura
em 3 Camadas
Controlador
22
Implementao da Arquitetura
em 3 Camadas
Interface do Repositrio
23
Implementao da Arquitetura
em 3 Camadas
Interface do Repositrio
24
Implementao da Arquitetura
em 3 Camadas
Repositrio
Implementa a persistncia dos dados.
Obrigatoriamente, deve implementar todos
os mtodos da interface do repositrio.
Contm os mtodos que sero chamados pelo
controlador.
Exemplo: Servios bsicos de persistncia
tais como inserir, alterar, remover, buscar
e verificar se um determinado objeto
existe.
Programao Orientada a Objeto - Mrcio Bueno
25
Implementao da Arquitetura
em 3 Camadas
26
Implementao da Arquitetura
em 3 Camadas
27
Exerccio
28
Referncias
Leitura Recomendada:
29