依赖倒转原则,原话解 释是抽象不应该依赖细节,细节应该依赖于抽象 ,这话绕口,说白了,就是要针对接口 编程,不要对实现编程 ,无论主板、CPU、内存、硬盘都是在针对接口设计的,如果针 对实现来设计,内存就要对应到具体的某个品牌的主板,那就会出现换内存需要把主板也 换了的尴尬。
高层模块不应该依赖低层模块,二者都应该依赖其抽象
抽象不应该依赖细节,细节应该依赖抽象
依赖倒置的中心思想是面向接口编程
依赖倒置原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在 java 中,抽象指的是接口或抽象类,细节就是具体的实现类
使用接口或抽象类的目的是制定好规范,而不涉及任何具体的操作,把展现细节的任务交给他们的实现类去完成
里氏代换原则
子类必须能替换父类,并且替换之后原程序功能不会缺少
理解
这个其实很好说明,因为子类和父类的关系是继承,所以,子类可以在父类的基础上根据实际情况写出其他父类所不具备的东西
依赖倒转其实就是谁也不要依靠谁,除了约定的接口,大家都可以 灵活自如