对扩展开放,对修改关闭(开闭原则)。尽量面向接口编程,少使用继承(依赖倒置原则和合成复用原则)。如果确实用到继承,尽量不要破坏继承体系,少重写父类方法(里氏替换原则)。一个类或接口尽可能精简单一(单一职责原则和接口隔离原则),并只把必要的暴露出去(迪米特原则)