1.责任链模式
责任链模式将请求的处理者连接成一条链,请求发送者将请求发送到这个处理链,每个处理者处理完成后会将此请求传递给下一个处理者。应用实例如Apache Tomcat对Encoding的处理、Structs2的拦截器等。
2.命令模式
命令模式是将一个请求封装成一个对象,从而用不同的请求对客户进行参数化。此模式可以将行为请求者与行为实现者进行解耦,实现二者的松耦合。
3.迭代器模式
迭代器模式就是在无须暴露出来内部表示的情况下,提供一种顺序访问一个聚合对象内部各个元素。此模式在Java中非常常见,比如Java中常用的集合类都可以通过迭代器模式进行内部元素的访问。
4.模板模式
模板模式是针对一些通用的操作步骤,定义一个操作的步骤骨架,将其中一些步骤延迟到子类中。此模式是的子类可以不改变整体结构,只需要重新定义其中一些步骤即可改变一些功能。
5.策略模式
策略模式定义一系列算法或者策略,使他们在运行过程中可以互相替换,而不用修改代码。
6.观察者模式
观察者模式主要是解决对象间一对多的依赖关系。当一个对象状态变化时,需要给其他对象通知。这样可以实现对象的易用性和低耦合。
7.访问者模式
访问者模式主要是将稳定的数据结构和易变的操作进行解耦。例如ASM中使用访问者模式对字节码进行修改。