1、开闭原则,对扩展开放,对修改关闭
2、里氏代换,任何基类可以出现的地方,子类可以出现
3、依赖倒转,针对接口编程,依赖抽象
4、接口隔离,使用多个隔离接口,比使用单个接口好,使用专门接口比使用单一总接口好
5、迪米特法则,最少知道
6、合成复用,少用继承