一、封装变化二、多用组合,少用继承三、针对接口编程,不针对实现编程四、为交互对象之间的松耦合设计而努力五、类应该对扩展开放,对修改关闭六、依赖抽象,不要依赖具体类七、只和朋友交谈八、别找我,我会找你九、类应该只有一个改变的理由