Odniesienia okrągłe Java
W projekcie, nad którym pracuję, ludzie pisali klasy usług, aby uzyskać dostęp do DAO. Prawie każdy obiekt biznesowy ma własną usługę, która korzysta z własnego DAO. W niektórych usługach używamy odniesień do innych usług. W tej chwili ludzie tworzą instancje potrzebnych usług wewnątrz konstruktora.
Ale teraz mam problem, ponieważ usługa A potrzebuje usługi B, a usługa B potrzebuje usługi A, więc wywołanie któregokolwiek z konstruktorów powoduje przepełnienie stosu ...
Przykład (pseudokod):
<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>
Jak byś to rozwiązał? używając wzoru singleton?
Dzięki