在一个类中直接创建另一个类的代码写法是造成耦合的原因之一。
class A{
}
class B{
A a;
public B(){
a = new A();
}
}
依赖注入就是避免耦合的方式(依赖注入降低了依赖和被依赖类型间的耦合,在修改被依赖的类型实现时,不需要修改依赖类型的实现),依赖注入的实现方式有三种:
1、构造方法注入
class A{
}
class B{
A a;
public B(A a){
this.a=a;
}
}
2、setter方法注入
class A{
}
class B{
A a;
public void setterA(A a){
this.a=a;
}
}
3、接口注入
interface InjectA{
void injectMethod(A a);
}
class A{
}
class B implements InjectA{
A a;
public void injectMethod(A a){
this.a=a;
}
}