书接上回(https://t.zsxq.com/xo0M0)再做下扩展上文谈到:“基于抽象接口编程确实是最佳实践:把易于变动的功能点通过定义抽象接口的形式暴露出来,不同的实现做到隔离和扩展,这体现了开闭原则”public class Foo {private Bar bar ;@Injectpublic Foo(Bar bar) {this.bar …
为什么需要“依赖注入”
Case 1
public class Foo {
private Bar bar;
public Foo() {
bar = new Bar();
}
public void doSomething(int key) {
String result = bar.getResult(key);
//swithch result
}
}
反模式 ,在构造函数中,初始化了合作类,导致:
• 外部使用者不知道…