单一职责原则:一个类不能太大,也不能太小,太大会导致强耦合,低内聚,太小调用会很麻烦。所以类最好做到高内聚低耦合。所以我们要构建稳定的抽象层,灵活的具体层

开闭原则:可扩展但是不要修改,也就是当我们需求改变时,我们只要扩展模块而不是修改源代码。

里氏原则:若在任何情况下A都可以代替B,则A 是B的子类。

依赖倒转原则:所有的实现都只依赖抽象层,不要依赖具体实现

接口隔离原则:接口不能太大,这样就能调用到不该调用的方法。

合成复用原则:复用类的方法,少用继承多用关联。

迪米特法则:一个对象对其他对象有尽少的作用,也就是尽量减少对象之间的耦合。