何为依赖倒转原则
依赖抽象(接口),降低模块之间的耦合度,便于协同开发。
核心思想:面向接口的编程
在此,可能会有小伙伴表示不理解,但没关系,请往下看。
加深依赖倒转原则印象
此处,我们将会通过案例的方式来让读者进一步加深对依赖倒转原则的印象。
案例分析
我们在此以计算圆面积这一案例进行讲解。想象一下,A同学负责编写圆面积计算,B同学则需要调用这一计算圆面积的类。此时,B同学不可能会等待A同学写完后,去想他所要。那么,我们将会以接口的方式来统一标准,使得这一计算圆面积的类抽象化,B同学就不会等待A同学写完后再去所要了,同时B同学也无需关心A同学是怎么编写来实现计算的过程,从而达到协同开发的目的,降低了模块之间的耦合度。
案例代码显示
接口:定规范的作用
public interface CircleCalculation {
double pi=3.14;
Double CircularArea(Double r);
}
写接口的A同学
public class Calculation implements CircleCalculation{
@Override
public Double CircularArea(Double r) {
return pi*(r*r);
}
}
用接口的B同学
public class Use {
CircleCalculation user = new Calculation();
public Use(CircleCalculation user) {
this.user = user;
}
void calculate(double r){
Double result = user.CircularArea(r);
System.out.println("计算的结果:以半径为"+r+"的圆的半径为"+result);
}
}
代码的实现
public class test {
public static void main(String[] args) {
Use user = new Use(new Calculation());
user.calculate(3.0);
}
}
结果展示
计算的结果:以半径为3.0的圆的半径为28.26