浅谈设计模式-五、行为型模式

时间:2024-02-17 16:58:20

1.责任链模式

责任链模式将请求的处理者连接成一条链,请求发送者将请求发送到这个处理链,每个处理者处理完成后会将此请求传递给下一个处理者。应用实例如Apache Tomcat对Encoding的处理、Structs2的拦截器等。

2.命令模式

命令模式是将一个请求封装成一个对象,从而用不同的请求对客户进行参数化。此模式可以将行为请求者与行为实现者进行解耦,实现二者的松耦合。

3.迭代器模式

迭代器模式就是在无须暴露出来内部表示的情况下,提供一种顺序访问一个聚合对象内部各个元素。此模式在Java中非常常见,比如Java中常用的集合类都可以通过迭代器模式进行内部元素的访问。

4.模板模式

模板模式是针对一些通用的操作步骤,定义一个操作的步骤骨架,将其中一些步骤延迟到子类中。此模式是的子类可以不改变整体结构,只需要重新定义其中一些步骤即可改变一些功能。

5.策略模式

策略模式定义一系列算法或者策略,使他们在运行过程中可以互相替换,而不用修改代码。

6.观察者模式

观察者模式主要是解决对象间一对多的依赖关系。当一个对象状态变化时,需要给其他对象通知。这样可以实现对象的易用性和低耦合。

7.访问者模式

访问者模式主要是将稳定的数据结构和易变的操作进行解耦。例如ASM中使用访问者模式对字节码进行修改。

8.解释器模式

9.中介者模式

10.备忘录模式

11.状态模式

12.空对象模式