Круговые ссылки на Java
В проекте, над которым я работаю, люди написали класс служб для доступа к DAO. Почти каждый бизнес-объект имеет свой собственный сервис, который использует его собственный DAO. На некоторых сервисах мы используем ссылки на другие сервисы. В настоящее время люди создают необходимые службы внутри конструктора.
Но теперь у меня возникли проблемы, потому что сервис A нуждается в сервисе B, а сервис B - в сервисе A, поэтому вызов любого конструктора приводит к переполнению стека
Пример (псевдокод):
<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>
Как бы вы решили это? используя шаблон синглтона?
Спасибо