开闭原则:对扩展开放,对修改关闭
里式替换原则:继承时尽量不要修改父类方法
依赖倒置原则:面向接口编程
单一职责:一个类尽量是单一功能
接口隔离:一个接口尽量是单一的功能
迪米特原则:最少知识法则,尽量少发生直接调用
合成复用原则:采用组合和聚合的方式代替继承