一、高内聚
1、LSP:里氏替换原则,子类可以替换父类的实例
2、OCP:开放封闭原则,尽量通过添加代码的方式修改类的功能,对外----扩展开放,对内----修改封闭。
3、DIP:依赖倒置原则,一个类尽量依赖于接口等高端类(父类),尽量避免依赖于子类。
4、SRP:单一职责原则,类功能越少越好。
二、松耦合
1、LOD:迪米特法则,即朋友最少原则,为了减少类之间的关系相互影响
2、ISP:接口隔离原则,使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。根据接口隔离原则,当一个接口太大时,我们需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干。
3、CARP:合成聚合复用原则,即在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。它的设计原则是:要尽量使用合成/聚合,尽量不要使用继承。