1、开闭 对扩展开放,对修改关闭; 面对抽象编程,用继承来扩展,去实现变化。2、里氏替换 儿子随时随地可以顶替父亲。3、依赖倒转 有事找中介,谁也别依赖谁,都依赖抽象。4、尽量用合成或聚合,少继承。5、迪米特 少交朋友。