1. 依赖倒置原则
变量不可以持有具体类的引用
不要让类 派生自 具体类(派生可以是接口和实现类)
不要覆盖基类中已经实现的方法
2. 要依赖抽象,不要依赖具体类
3. 多用组合,少用继承
4. 针对于接口编程,不针对于实现编程
5. 类应该对扩展开放,对修改关闭