Referencias circulares de Java
En el proyecto en el que estoy trabajando, la gente escribió servicios de clase para acceder a DAO. Casi todos los objetos comerciales tienen su propio servicio que utiliza su propio DAO. En algunos servicios, estamos utilizando referencias a otros servicios. En este momento, las personas están creando servicios necesarios dentro del constructor.
Pero ahora tengo problemas porque el servicio A necesita el servicio B y el servicio B necesita el servicio A, por lo que una llamada a cualquiera de los constructores produce un desbordamiento de pila ...
Ejemplo (pseudo-código):
//Constructor of OrderService
public OrderService() {
orderDAO = DAOFactory.getDAOFactory().getOrderDAO();
itemService = new ItemService();
}
//Constructor of ItemService
public ItemService() {
itemDAO = DAOFactory.getDAOFactory().getItemDAO();
orderService = new OrderService();
}
Como resolverias esto ? usando un patrón de singleton?
Gracias