1. 单一职责原则
解释:一个类只负责一项功能的定义;不存在多个引发类变更的原因,如果有,则对类进行拆分。
2. 里式替换原则
解释:把子类共同的部分抽象给父类,子类尽量不要覆盖或重写父类已经抽象好的方法;再程序设计中,尽量使用基类类型对对象进行定义,然后在运行的时候使用子类类型进行替换。
3. 依赖倒转原则
解释:应该做到对接口或抽象进行引用,而不是对具体类的依赖。
4. 迪米特法则(最少知道原则)
解释:一个类对复杂类知道的越少越好,应该把逻辑部分封装在方法的内部,对外暴露public方法,尽量让外部类知道内部的逻辑实现;或把对复杂类的使用封装成一个公共的工具类方法,提供给外部,而不是直接引用,这样做的好处是当复杂类修改的时候,不会对原有引用的类做太大的影响。
5. 开闭原则
解释:一个类的设计应该是对扩展开放,对修改关闭。
6. 接口隔离原则
解释:每个接口不存在子类不需要实现的方法,如果有,则对接口进行拆分。
补充:
迪米特法则
解释:类与类之间的耦合降到最低;
变为如下图: