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):
//Constructor of OrderService
public OrderService() {
orderDAO = DAOFactory.getDAOFactory().getOrderDAO();
itemService = new ItemService();
}
//Constructor of ItemService
public ItemService() {
itemDAO = DAOFactory.getDAOFactory().getItemDAO();
orderService = new OrderService();
}
Jak byś to rozwiązał? używając wzoru singleton?
Dzięki