1.组合优于继承(通过吧一个对象聚合或组合进另一对象以用于委托)---------策略模式是对这一原则的应用
2.降低耦合
3.针对接口编程而不是实现编程
4.把变化的概念封装起来.
5.开放封闭原则(OCP,Open Closed Principle)