要针对接口编程,不要对实现编程。例如:无论主板、CPU、内存、硬盘都是在针对接口设计的,如果针对实现来设计,内存就要对应到具体的某个品牌的主板,那就会出现换内存需要把主板也换了的尴尬。
A:高层模块不应该依赖低层模块。两个都应该依赖抽象。
B:抽象不应该依赖细节。细节应该依赖抽象
里氏替换原则:子类型必须能够替换掉它们的父类型。
要针对接口编程,不要对实现编程。例如:无论主板、CPU、内存、硬盘都是在针对接口设计的,如果针对实现来设计,内存就要对应到具体的某个品牌的主板,那就会出现换内存需要把主板也换了的尴尬。
A:高层模块不应该依赖低层模块。两个都应该依赖抽象。
B:抽象不应该依赖细节。细节应该依赖抽象
里氏替换原则:子类型必须能够替换掉它们的父类型。