Busines Object... quando e como?

Bom tarde galera

Eu to tentando usar o busines object pra seguinte situacao: Não quero que o cliente acesse os DAOs e nem fique controlando as transações do hibernate
Pra isso eu fiz o seguinte codigo:


public class UserBO {
	
	static Logger logger = Util.startLogger(UserBO.class);

         public void saveUser(Users user){
		DAOFactory daoFactory = DAOFactory.getDAOFactory(1);
		UsersDAO userDAO = daoFactory.getUsersDAO();

		HibernateUtility.beginTransaction();
		userDAO.save(user);
		HibernateUtility.commitTransaction();
		logger.debug("Usuario registrado");
	}

O problema disso é que terei de escrever uma chamada no BO para todas as rotinas que estao contidas no DAO.

Nao poderia para o cliente fazer isso ? ou dessa forma esta correto mesmo ?

Desde já… Obrigado.

vc não podereia instanciar objetos do tipo UserBO nas outras classes recebendo parâmetros para que ela executasse a transação?

Passar parametros para o BO !? nao entendi pra que isso ?

vc já está passando

public void saveUser(Users user){

então pq vc não instancia essa classe nos DAOs?

Bom… eu que pergunto… porque meus DAOs vao instanciar os BO !

Talvez eu tenha me expressado mal… mas eu entendo que o cliente tem sim de intanciar o BO ! gotaria de saber se ele pode instanciar tanto o BO quanto o DAO !?

Vc concorda que a rotina que descrevi no BO não faz muita coisa !? talvez o cliente seja capaz de fazer isso… assim nao precisso escrever um BO para cada DAO que eu escrever… certo ?

Eu acho que o BO seria legal para fazer varias rotinas ao mesmo tempo… como instanciar dois DAOs e executar updates e inserts tudo dentro de uma transação… coisa que o DAO nao pode fazer e nao posso deixar que o cliente faça

Eu sugeriria que deixasse seu objeto de negócio somente responsável por regra de negócios, para o tratamento de persistência, crie uma camada de repositório, e seu objeto de negócio somente troca informações com ela, ao invés de saber como é a implementação da persistência.

Na verdade eu creio que não entendi o conceito de ‘BO’ aí.

Ps: Eu tinha lido algum artigo do Phillip que ele mostrava um exemplo dessa interface de respositórios, só num lembro onde.

Alguem tem um link ou tutorial de como usar BO ?

Da uma olhada nesse topico aqui: http://www.guj.com.br/posts/list/33027.java
Se possível até na matéria!