单一职责 一个类一项职责 里氏替换 所有引用基类的地方, 都能够透明的使用子类 依赖倒置 高层模块不应该依赖低层模块, 二者都应该依赖于抽象 接口隔离 客户端不应该依赖他不需要的接口 迪米特法则 一个对象应该保持对其他对象了解最少 开闭原则 对扩展开放, 对修改关闭