抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

数据结构:责任链

模式类型

数据结构

责任链

使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。

每个检查步骤都可被抽取为仅有单个方法的类,并执行检查操作。请求及其数据则会被作为参数传递给该方法。

将这些处理者连成一条链。链上的每个处理者都有一个成员变量来保存对于下一处理者的引用。除了处理请求外,处理者还负责沿着链传递请求。请求会在链上移动,直至所有处理者都有机会对其进行处理。

处理者可以决定不再沿着链传递请求,这可高效地取消所有后续处理步骤。

使用场景

  • 使用不同方式处理不同种类请求,请求顺序和类型预先未知
  • 按顺序处理请求

举例

使用责任链




本站采用 Volantis 主题设计