1.单一职责原则(一个类只负责一项职责) 2.接口隔离(客户端不需要依赖他不需要的接口)例如:接口B中有5个方法,A类只需要B接口中的2个方法,但是实现B类后,必须要重写5个方法,有3个方法是A不需要的,这时候B接口就应该拆分 3.依赖倒置(依赖倒转的中心是面向接口编程,不要依赖于具体实现) 4.里氏替换(使用“抽象”和“多态”将设计中的静态结构改为动态结构,维持设计的封闭性) 5.开闭原则(对扩展开放,对修改关闭) 6.迪米特法则(对象与对象之间耦合度低) 7.合成复用(尽量使用组合/聚合,而不是继承)