1、职责单一原则:一个类只做它该做的事。
2、开闭原则:软件实体应当对扩展开放,对修改关闭。
3、依赖倒转原则:面向接口。声明方法的参数类型、方法的返回类型、变量的引用类型时,尽可能使用抽象类型而不使用具体类型,因为抽象类型可以被其任意子类所替代。
4、里氏替换原则:任何时候都可以用子类型替换掉父类型。
5、接口隔离原则:接口应该小而专,不应该大而全。
6、合成聚合复用原则:应当多使用聚合或合成关系复用代码。
7、迪米特法则:最少知识原则,一个对象应当对其他对象尽可能少的了解。