在我正在进行的项目中,人们编写了服务类来访问 DAO。几乎每个业务对象都有自己的服务,这些服务使用自己的 DAO。在某些服务上,我们使用对其他服务的引用。目前,人们正在构造函数中实例化所需的服务。
但是现在,我遇到了麻烦,因为服务 A 需要服务 B,而服务 B 需要服务 A,所以调用任一构造函数都会导致堆栈溢出......
示例(伪代码):
//Constructor of OrderService
public OrderService() {
orderDAO = DAOFactory.getDAOFactory().getOrderDAO();
itemService = new ItemService();
}
//Constructor of ItemService
public ItemService() {
itemDAO = DAOFactory.getDAOFactory().getItemDAO();
orderService = new OrderService();
}
你会如何解决这个问题?使用单例模式?
谢谢