设计模式 开闭原则 对扩展开放,对修改关闭 里氏代换原则 任何基类可以出现的地方,子类一定可以出现 依赖倒转原则 针对接口编程,依赖于抽象而不依赖于具体 迪米特法则 一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立 合成复用原则 原则是尽量使用合成/聚合的方式,而不是使用继承