开闭原则:对扩展开放,对修改关闭 里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立 依赖倒置原则:要面向接口编程,不要面向实现编程 单一职责原则:控制类的粒度大小,将对象解耦、提高其内聚性。 接口隔离原则:要为各个类建立它们需要的专用接口 迪米特法则:只与你的直接朋友交谈,不跟"陌生人"说话。 合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑继承关系来实现