系列总链接:https://blog.csdn.net/qq_22122811/article/details/112360387
会修电脑不会修收音机-依赖倒转原则:(截图来自于《大话设计模式》)
思考:
程序有没有用到过的这个地方?
这里大致明白意思是:高层模块和底层模块间依赖性不应过强,应该需要标准的接口,通信的内存接口,通用的主板接口。
启发:
依赖倒转原则,有三点,高低层模块之间不能相互依赖,这一点联想到主板和内存间的关系,就可以理解,在程序中可以理解为主程序块,和功能性模块,只需要接口相互传递,但相互的内部实现不应该影响,就和SQL操作模块和主程序模块不应该互相影响;
第二点,抽象不应该依赖于细节,细节应该依赖抽象;
参照博客:https://www.cnblogs.com/cbf4life/archive/2009/12/15/1624435.html
进一步理解,抽象不依赖细节,就是说IDriver不能依赖于某一牌子的车型,所以IDriver中驾驶的车应该也为抽象类,不能是细节,即某类型车;
细节应该依赖于抽象,就是说由IDriver分配的变量zhangsan应该具有IDriver的方法Drive(), 并且需要基于此,实现自己的方法体,即“契约精神”。