责任链似乎与过滤模式非常相似。我想知道:
如果它们不同,那么其中一个适用而另一个不适用的问题域是什么。
最佳答案
我认为主要区别在于在过滤器模式中,链中的所有过滤器都将按给定顺序执行。
责任链更具弹性——每个链元素决定两件事:
责任链中的主要概念是将转向逻辑移动到链元素中。
调用代码不必(通过一些复杂的 IF 语句)决定应该调用哪个逻辑,但“逻辑”(提取到链的元素)本身知道它是否应该处理请求。
在我看来,过滤模式是责任链的简化变体。
关于oop - 责任链和过滤模式有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28009320/