依赖倒转原则:
》》高层模块不应该依赖低层模块,两个都应该依赖抽象。
》》抽象不应该依赖细节,细节应该依赖抽象。
两点都说明了同一个问题,就是:程序中的依赖关系都应该终止于抽象类或者接口,而不能终止于实现细节的具体类。
高层模块与低层模块之间插入一个抽象类或者接口,让两个模块同时依赖于抽象,这样就实现了高层模块和低层模块之间的解耦,而且在需求发生变化的时候,也利于两个模块的复用。
就好比计算机,都是基于接口的设计,接口就是标准,就是规范。当某个设备出现了问题或者我们要升级某个设备,我们只需要找到匹配此设备所依赖接口的部件即可。这样做的同时,也不会影响到其他设备的工作。
里氏代换原则:
》》子类型必须能替换掉他们的父类型。
也就是说,把父类都替换成他的子类,程序的行为没有变化。
里氏原则通俗的讲就是:子类可以扩展父类的功能,但不能改变父类的原有功能。因此,子类尽量不要重写或者重载父类方法。
本文深入探讨了依赖倒转原则和里氏代换原则的核心概念,阐述了它们在软件设计中的重要性及应用。依赖倒转原则强调高层模块不应依赖低层模块,而是依赖于抽象;里氏代换原则则指出子类型必须能替换掉他们的父类型,确保程序行为不变。通过实例解析,揭示了遵循这些原则如何提高代码的可维护性和可复用性。





