strategy模式:准备一组算法,并将每一个算法封装到一个独立的具体类中。这些类具有共同的接口,从而使得它们可以转换。策略模式使得算法可以在不影响到客户端的情况下进行
模版模式:准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。
observer模式:观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听一个主题对象。这个主题对象在状态上发生变化时会通知所有观察者角色,使他们能自行更新自己