在解决“不应重建深层依赖”的问题时,可以采用以下几种解决方法:
public class MyComponent {
private final DeepDependency deepDependency;
public MyComponent(DeepDependency deepDependency) {
this.deepDependency = deepDependency;
}
public void doSomething() {
// 使用deepDependency
}
}
public class DeepDependency {
// 实现细节
}
// 在使用MyComponent的地方进行依赖注入
DeepDependency deepDependency = new DeepDependency();
MyComponent myComponent = new MyComponent(deepDependency);
public interface DeepDependency {
void doSomething();
}
public class ConcreteDeepDependency implements DeepDependency {
@Override
public void doSomething() {
// 实现细节
}
}
public class MyComponent {
private final DeepDependency deepDependency;
public MyComponent(DeepDependency deepDependency) {
this.deepDependency = deepDependency;
}
public void doSomething() {
deepDependency.doSomething();
}
}
// 在使用MyComponent的地方创建具体实现的实例并传入
DeepDependency deepDependency = new ConcreteDeepDependency();
MyComponent myComponent = new MyComponent(deepDependency);
通过使用依赖注入和依赖反转原则,我们可以避免在重建深层依赖时引入不必要的麻烦,并且可以更好地管理和替换依赖项。
上一篇:不应直接访问“产品ID”。
下一篇:不引入NaN值的情况下重塑数据框