5

我一直在阅读责任链设计模式,它基本上允许请求的发送者和请求的接收者之间解耦。该请求可以沿链传递,直到有人准备好使用该请求。现在在 Java 中,当我们指定一个方法能够抛出Exception 异常时,我们让方法的调用者处理异常。如果它不感兴趣,它可以进一步将异常传播到链上。那么这个过程可以被引用为责任链设计模式的应用吗?

4

1 回答 1

6

你说的对。Java 中的异常处理基于责任链模式在此模式中:

  1. 发送者将不知道链中的哪个对象将为其请求提供服务
  2. 链中的每个节点都可以决定为请求提供服务 --> 捕获异常并
    用特定于应用程序的异常包装它
  3. 每个节点都可以转发请求 --> 向直接调用者抛出异常
  4. 没有一个节点可以为请求提供服务 --> 将工作留给调用者

因此,异常处理是一种责任链模式

于 2013-03-16T07:04:26.190 回答