1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

como reutilizar regras de negócio EJB /SessionBean?

Eu tenho as entidades: Contrato,ContratoUso,ContratoAdesao por ex. e eu tenho um ContratoRepository sessionbean onde tenho as regras de negócio da entidade de Contrato. os contratos especialistas tem grande parte das regras de contrato, portanto qual a melhor forma de implementar isto?

?- ContratoUsoRepository e os demais herdarem as regras de contratoRepository e implementam suas especificas?

??- Usar composição, tendo contratoRepository injetado em ContratoUsoRepository e delegando para contrato o que é comum?

**contratoUsoRepository** {
@EJB
**ContratoRepository** contratoRepository;
recuperarContrato(Int id){
   return contratoRepository.recuperarContrato(id);

}

}

fazer contrato generics

ex:

**ContratoRepository**<M extends contrato>{
     recuperarContrato(int id){
          return M;

}
}
ContratoUsoRepository extends ContratoRepository<ContratoUSO>(){
//metodos especificos de contratoUSO
}

Estou refatorando um sistema onde a maior preocupação é diminuir o acoplamento e complexidade dos vários níveis de herança (o exemplo é simplificado)

Qualquer ajuda é bem vinda.

  • Ola Bruno, quando diz:

    eu tenho um ContratoRepository sessionbean onde tenho as regras de negócio da entidade de Contrato.

    Pode me falar o que considera regra de negócio da entidade? acho que ta faltando uma service ai no seu projeto.

    Dilnei Cunha   11 de dez de 2014
  • ContratoRepository tem as regras de dominio de contrato, acessado pelo ContratoFacade

    mas poderia ser um ContratoService acessando um ContratoDAO, não altera meu problema...

    Bruno Cerqueira   12 de dez de 2014
  • eu criaria EJB´s @LocalBean contendo as lógicas dos contratos especialistas e injetaria eles nas facades.

    Dilnei Cunha   12 de dez de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags ejb java arquitetura java-ee ou faça a sua própria pergunta.