1.封装变化 2.多用 组合,少用继承 3.针对接口编程,不针对实现编程 4.为交互对象之间的松耦合设计而努力 5.类应该对扩展开放,对修改关闭 6.依赖抽象,不要依赖具体类 7.只和朋友交谈 8.别找我,我会找你 9.类应该只有一个改变的理由。