依赖倒转原则 高层模块不应该依赖底层模块。两个都应该依赖抽象。抽象不应该依赖细节。细节应该依赖抽象。 譬如我们把访问数据库的方法写成了一个函数,那么我们做新项目的时候,去调用这些底层的函数就可以了,这就是高层模块依赖与底层模块。 里氏代换原则 子类型必须能够替换调他们的父类型。 一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。也就是说,在软件里面,把父类都替换成它的子类,程序的行为没有变化。