Pessoal,
Qual o conceito de Business Object ? Quando e como ele deve ser usado ?
No site da sun só achei essa referencia:
Alguém poderia me falar mais sobre ele ?
obrigado mesmo.
Pessoal,
Qual o conceito de Business Object ? Quando e como ele deve ser usado ?
No site da sun só achei essa referencia:
Alguém poderia me falar mais sobre ele ?
obrigado mesmo.
Basicamente um BO é um objeto que implementa a lógica de negócios e/ou dados de negócio, pensa numa classe Pedido, ela é um BO, ele pode ter tais métodos : calcularPedido, fecharPedido, abrirPedido (esses métodos implementam a lógica de negócios).
Tipo essa definição está melhor (página 13 do livro Core J2EE Patterns):
“An object that implements business logic and/or business data and business logic are implemented in coarse-grained objects called business objects. In J2EE, business objects are implemented as session or entity beans. In some cases, a business object could be an arbitrary Java object that provides some service”
Olá,
Estou analisando a integração entre Business Object, Transfer Obejcts
e DAOs. No atual projeto em que estou, muitas regras de negócio estão nos métodos DAO e outros estão nos Transfers Objects, o que é errado.
Então estou estudando o uso de Business Object, centralizando as regras de negócio. Como eu utilizaria o BO junto com DAO ?
Alguém tem algum exemplo pra me passar?
O que está me confundindo é que no livro Core J2EE Patterns Second Edition (acho q a última versão) são utilizados Transfers Objects junto com DAOs.
Se alguém puder me ajudar… :oops:
Obrigado,
Olá,
Andei pesquisando em outros fórums, tutoriais e um camarada
me passou algo bem interessante e prático. estou respassando aki.
falow
abraço
class AccountDAO{
public void update(AccountVO vo){
...
//executa SQL de insert, gerencia pool de conexões e/ou usa algum framework como Hibernate.
}
}
class AccountBusinessObject{
private AccountDao dao = null;
public void transferFound(AccountVo from, AccoutVo to, double value){
//usa o DAO para buscar dados da conta de origem
from = dao.loadByPrimaryKey( from.getId() );
//se tem crédito, entãofaz o cálculo necessário
from.credit( from.credit - value );
to.credit( from.credit + value );
//usa o DAO para atualizar o valor decrementado no BD
dao.update( from );
dao.update( to );
}
}
class AccountVO(){
private double credit;
private int id;
//etc
}