1、封装变化。找出程序中会变化的方面,然后将其和固定不变的地方相分离。 2、针对借口编程,不针对实现编程。 3、多用组合,少用继承 4、为交互对象之间的松耦合设计而努力。 5、类应该对扩展开放,对修改关闭 6、依赖抽象,不要依赖具体类 7、只和朋友交谈 8、别找我,我会找你 9、类应该只有一个改变的理由 持续更新