单一职责原则:实现类和函数要职责单一,完备
里氏替换原则:只要有父类出现的地方,都可以用子类来替代,而且不会出现任何错误和异常。但是反过来则不行,有子类出现的地方,不能用其父类替代。
依赖倒置原则:上层模块不应该依赖底层模块,它们都应该依赖于抽象。
抽象不应该依赖于细节,细节应该依赖于抽象。
依赖倒置原则即为面向接口编程的原则
eg:
参数抽象成json对象,不依赖具体定义
接口隔离原则:不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上
迪米特原则: 类之间保持松耦合,如果两个类不必彼此直接通信,最好可以通过"中介"第三者来转发(例如:外观模式)
开放-封闭原则: 一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。保持高扩展性,当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化