依赖倒转原则
1. 依赖倒转原则:
要针对接口编程,而不是针对实现编程。
依赖倒转其实就是谁也不要依赖谁,除了约定的接口,大家都可以灵活自如。
A.高层模块不应该依赖低层模块,两个都应该依赖抽象,就是接口或抽象类。只要接口稳定,那么任何一个更改都不用担心其他受到影响,这就使得无论是高层模块还是低层模块,都容易复用。
B.抽象不应该依赖细节,细节应该依赖抽象。
2.问题描述
会修电脑不会修收音机?电脑可以比喻成软件系统,内存、硬盘、显卡、光驱等部件比喻为程序中的类,哪部分损坏都可以直接替换。------“强内聚、松耦合”
3.里氏代换原则
一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且察觉不出父类对象和子类对象的区别。也就是说,在软件里,把父类都替换成它的子类,程序的行为没有变化。简单的说,子类型必须能替换掉它们的父类型。