A对象依赖B对象三种写法
1.构造函数传递依赖对象
//汽车
public interface ICar{
void run();
}
//司机(依赖汽车)
public interface IDriver{
void driver();
}
public Class Driver implements IDriver{
private ICar car;
public Driver(ICar car){
this.car = car;
}
}
2.Setter方法传递依赖对象
public interface IDriver{
}
public Class Driver implements IDriver{
private ICar car;
public void setCar(ICar car){
this.car = car;
}
public void drive(){
this.car.run();
}
}
3.接口声明依赖对象
public interface IDriver{
void driver(ICar car);
}
public Class Driver implements IDriver{
public void drive(ICar car){
car.run();
}
}
前两种在Spring容器的注入方式中有体现;
第3种方式在日常编码中经常遇到;
要讲这三种方式在设计层面如何选择,各自的适用场景,还需要更深入的理解。
记录《设计模式之禅》--秦小波