04 责任链

行为模式

行为模式负责对象间的高效沟通和职责委派。

责任链 (Chain of Responsibility)

允许你将请求沿着处理者链进行发送。
收到请求后,每个处理者均可对请求进行处理,
或将其传递给链上的下个处理者。

当程序需要使用不同方式处理不同种类请求,而且请求类型
和顺序预先未知时,可以使用责任链模式。

  • 处理者

    声明了所有具体处理者的通用接口。该接口通常仅包含
    单个方法用于请求处理,但有时其还会包含一个设置链上下处理者的方法。

  • 基础处理者

    一个可选的类,可以将所有处理者共用的样本代码放置在其中。

  • 具体处理者

    包含处理请求的实际代码。每个处理者接收到请求后,
    都必须决定是否进行处理,以及是否沿着链传递请求。

  • 客户端

    可根据程序逻辑一次性或者动态地生成链。
    请求可发送给链上的任意一个处理者,而非必须是第一个处理者。