0.设计原则之 找出程序中会变化的方面,然后将其和固定不变的方面相分离
1.设计原则之 针对接口编程,而不是针对实现编程
2.设计原则之 多用组合,少用继承
3.设计原则之 为了交互对象之间的松耦合设计而努力(松耦合的设计之所以能让我们建立有弹性的OO系统,能够应对变化,是应为对象之间的互相依赖降到了最低)
4.设计原则之 类应该对扩展开发,对修改关闭(扩展类,扩展方法)