依赖反转

依赖关系:
在自顶向下逐步求精的过程中,

大问题的解决依赖于中问题和小问题的解决,
中问题的解决依赖于小问题的解决,箭头向下指表示调用者依赖提供者。

在面向对象过程中一般的依赖关系是:

图为不同司机对应开不同车。
但事实是一个司机可以驾驶多种车,引入依赖反转原则。

依赖反转原则是另一种思路,并不是对自顶向下逐步求精思路的否定。

Dirver类调用drive方法时候访问的是IVehicle的Run方法,而Car,Truck等都实现IVehicle接口。
这样Drive就可以又能开Car又能开Truck,给他是Car实例就调用Car里得Run,给他是Truck的实例就调用Truck里的Run。

对Driver同样:

再往下延展就是设计模式的内容了。
PPT取自刘猛铁C#入门教程,感谢刘老师。

原文地址:https://www.cnblogs.com/maomaodesu/p/11630103.html