策略模式(Strategy Pattern):定义算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的改变独立于使用该算法的客户。观察者模式(Observer):定义了对象一对多的依赖,这样依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。装饰者模式:动态的将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。