Vendo o c - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Vendo o c

Description:

Vendo o c digo como um bolo... com v rias camadas! Interface com o usu rio (GUI) Comunica o Neg cio Dados Classes B sicas de Neg cio public class Conta ... – PowerPoint PPT presentation

Number of Views:58
Avg rating:3.0/5.0
Slides: 13
Provided by: CIn1150
Category:
Tags: java | vendo

less

Transcript and Presenter's Notes

Title: Vendo o c


1
Vendo o código como um bolo... com várias camadas!
Interface com o usuário (GUI)
Comunicação
Negócio
Dados
2
Arquitetura de software
GUI
Fachada
1..
servicos()
Negócio
1..
1..
Coleção de Negócio
servicosEspecificos()
ltltInterfacegtgt
Interface Negócio-dados
inserir()
remover()
atualizar()
procurar()
existe()
Dados
Coleção de dados
inserir()
remover()
atualizar()
procurar()
existe()
0..
Básica de negócio
getDado()
3
Classes Básicas de Negócio
  • public class Conta
  • private double saldo
  • private String numero
  • private Cliente correntista
  • ...
  • public void creditar(double valor)
  • saldo saldo valor

Cliente, Livro, Animal, Veiculo
4
Interfaces Negócio-Dados
  • public interface RepositorioContas
  • public void inserir(Conta conta) throws ...
  • public void atualizar(Conta conta) throws ...
  • public void remover(String numero) throws ...
  • public Conta procurar(String numero) throws
    ...
  • public RepositorioContas procurar(Conta conta)
  • throws ...
  • public boolean existe(String numero) throws
    ...
  • public IteratorContas getIterator() throws ...

RepositorioClientes, RepositorioLivros,
RepositorioAnimais, RepositorioVeiculos
5
Interface Iterator
  • public interface IteratorContas
  • public boolean hasNext()
  • public Conta next()

IteratorClientes, IteratorLivros,
IteratorAnimais, IteratorVeiculos
6
Coleção de dados iterável
  • public class IteratorContasArray
  • implements IteratorContas
  • private Conta contas
  • private int proximo ...
  • public IteratorContasArray(Conta conta) ...
  • public void add(Conta conta) ...
  • public boolean hasNext() ...
  • public Conta next() ...

7
Classes Coleção de Dados
public class RepositorioContasArray
implements RepositorioContas private Conta
contas private int indice public void
inserir(Conta conta) contasindice
conta indice indice 1 ...
RepositorioContasArquivo, RepositorioContasLista
RepositorioContasBDR, RepositorioContasBDOO
8
Classes Coleção de Dados
public RepositorioContas procurar(Conta conta)
RepositorioContas resposta new
RepositorioContasArray() ... while(!achou
iltindice) if (conta.match(contasi))
resposta.inserir(contasi) ...
return resposta
9
Classes Coleção de Dados
public IteratorContas getIterator()
IteratorContas resposta new
IteratorContasArray(contas) return resposta
10
Método match
  • public class Conta
  • ...
  • public boolean match(Conta conta)
  • Correntista corr conta.getCorrentista()
  • boolean resp false
  • if (numero ! null correntista ! null)
  • resp numero.equals(conta.getNumero())
  • correntista.match(corr)
  • else if (numero ! null)
  • resp numero.equals(conta.getNumero())
  • else if (correntista ! null)
  • resp correntista.match(corr)
  • return resp

11
Classes Coleção de Negócio
public class CadastroContas private
RepositorioContas contas public
CadastroContas(RepositorioContas rep)
contas rep public void cadastrar(Conta
conta) throws ContaJaCadastradaException
if (!contas.existe(conta.getNumero()))
contas.inserir(conta) else throw new
... ...
CadastroClientes, CadastroLivros,
CadastroAnimais, CadastroVeiculos
12
Classe Fachada
public class Banco private CadastroContas
contas private CadastroClientes clientes
... public void cadastrar(Conta conta)
throws ClienteNaoCadastradoException
Cliente c conta.getCorrentista() if
(clientes.existe(c.getCodigo())
contas.cadastrar(conta) else throw
new ClienteNaoCadastradoException()
Livraria, Zoo, Locadora
Write a Comment
User Comments (0)
About PowerShow.com