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):
<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 resolverias esto ? usando un patrón de singleton?
Gracias