1、观察者模式
定义对象间一对多关系依赖关系,一旦对象状态改变,会通知所有依赖它的对象

2、策略模式
使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类

3、享元模式
运用共享技术有效地支持大量细粒度的对象

4、模板模式
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤

5、外观模式
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用

6、状态模式
当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类

7、代理模式
为其他对象提供一种代理以控制对这个对象的访问

8、责任链模式
为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦

9、命令模式

10、过滤器模式
使用不同的标准来过滤一组对象,通过逻辑运算以解耦的方式把它们连接起来

11、组合模式
组合模式依据树形结构来组合对象,用来表示部分以及整体层次
