Referências circulares de Java
No projeto em que estou trabalhando, as pessoas escreveram classes de serviços para acessar o DAO. Quase todos os objetos de negócios têm seu próprio serviço, que usa seu próprio DAO. Em alguns serviços, estamos usando referências a outros serviços. No momento, as pessoas estão instanciando os serviços necessários dentro do construtor.
Mas agora, tenho problemas porque o serviço A precisa de serviço B e o serviço B precisa de serviço A, portanto, uma chamada para um construtor resulta em um estouro de pilha ...
Exemplo (pseudo-código):
<code>//Constructor of OrderService public OrderService() { orderDAO = DAOFactory.getDAOFactory().getOrderDAO(); itemService = new ItemService(); } //Constructor of ItemService public ItemService() { itemDAO = DAOFactory.getDAOFactory().getItemDAO(); orderService = new OrderService(); } </code>
Como você resolveria isso? usando o padrão singleton?
obrigado