[code]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
}
[/code]
Esta correta essa implementação de BO acima? Busca no DAO o objeto e após executa as regras, como ficaria um teste unitário com esse BO? Funcionária sem problema?