开闭原则 对扩展开放,对修改关闭 里氏替换原则 任何基类出现的地方都可以用子类代替 依赖倒置原则 针对接口编程,依赖于抽象而不依赖于具体 接口隔离原则 使用多个接口比使用一个单一接口要好,降低依赖,解耦合 迪米特法则(最少知道) 一个实体尽量少的直接与其他实体发生相互关系,使系统功能模块尽量独立 合成复用原则 尽量使用合成/聚合的方式,而不是使用继承。