2020-07-16_依赖的三种写法

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种方式在日常编码中经常遇到;
要讲这三种方式在设计层面如何选择,各自的适用场景,还需要更深入的理解。

记录《设计模式之禅》--秦小波

你可能感兴趣的:(2020-07-16_依赖的三种写法)