我有一些看起来像这样的代码(简化):
public Reader newInstance(Catalog catalog) {
Mapper mapper = new Mapper(catalog);
return new Reader(mapper)
}
public main() {
// expensive operation
Catalog catalog = readCatalogFromDatabase();
Reader reader = Reader.newInstance(catalog);
// do stuff with reader
}
如何重新设计它以便我仍然创建目录,但 Guice 创建阅读器和映射器?我尝试使用辅助注入,但由于 Catalog 不是 Reader 的直接依赖项,我无法弄清楚如何获取接受目录对象的工厂方法。