Aula DIGU
Desenvolvimento de Interface
Gráfica de Usuário
Prof. Fabio Versolatto, MSc
• Onde estamos.....
APRESENTAÇÃO
INF
NEGÓCIO
EXCEPTION
ACESSO A DADOS
BANCO DE
DADOS
CHAVE: TRY / CATCH
1
14/04/2014
• Persistência onde ? OK
• Persistência de que ???
• Objetos
• Objetos de Negócio
• Tabelas (Modelo Relacional)
CPF
Nome
123.456.789-10
João de João
Endereço
Rua do João, SN
543.214.777-90
Maria de Maria
Rua de Maria, 1000
987.654.321-00
Pedro di Piero
Rua del Piero, 1888
• DAO -> vai persistir o objeto em uma estrutura de informação, por exemplo: tabela
• Quais operações teria um objeto cuja finalidade seria persistir o objeto pessoa em uma tabela???
2
14/04/2014
• CRUD
Create
Read
Update
Delete
• DAO -> vai persistir o objeto em uma estrutura de informação, por exemplo: tabela
• DAO -> Um objeto DAO para cada objeto a ser persistido
• Métodos do DAO
•CRUD
Create -> método save*
Read -> método find
Update -> método save*
Delete -> método delete
3
14/04/2014
«interface»
IPessoaDao
+
+
+
+
delete(Pessoa) : void find(String) : Pessoa list() : List save(Pessoa) : void
PessoaDao
+
+
+
+
delete(Pessoa) : void find(String) : Pessoa list() : List save(Pessoa) : void
Abrir conexão Executar comando BLOCO
TRY/CATCH
Existe retorno de registros?
Lê retorno
Fechar conexão 4
14/04/2014
APRESENTAÇÃO
INF
NEGÓCIO
EXCEPTION
ACESSO A DADOS
BANCO DE
DADOS
CHAVE: TRY / CATCH
5
14/04/2014
Create -> método save*
Update -> método save*
• Muitos arquitetos criam um único método save na camada Dao, tanto para INSERT quanto para
UPDATE
• Encapsulamento da regra: insere se não existe / atualiza se existe.
• Muitos arquitetos criam um método save na camada Dao para INSERT e um metodo update para UPDATE
• Encapsulamento da regra: insere se não existe / atualiza se existe NA