如果我有多个节点需要修改一个请求,那么仍然使用“责任链”设计模式是个好主意吗?或者,是否应该仅在只有一个(未知)节点独占处理请求时使用此模式?
即:节点2和节点3都需要影响请求(R)。因此,即使节点2处理请求,我仍然希望继续将请求沿着列表传递到下一个处理程序
+--------+ (R) +--------+ (R) +--------+ (R)
Client Request (R) | Node 1 |----->| Node 2 |----->| Node 3 |----->etc...
+--------+ +--------+ +--------+发布于 2012-11-13 04:18:43
在我看来,您最好使用pipes and filters模式,因为每个步骤都会添加某种类型的转换和/或验证。
这张图片取自上面类似的图片。

任何时候,其中一个筛选器都可以决定处理该请求,而不将其传递给下一个筛选器。在上面的示例中(如果它是http请求),未经身份验证的请求将导致401http状态代码。
https://stackoverflow.com/questions/13349822
复制相似问题