职责链模式看起来与过滤器模式非常相似。我想知道:
如果它们不同,那么在哪些问题域中一个适用而另一个不适用。
职责链模式看起来与过滤器模式非常相似。我想知道:
如果它们不同,那么在哪些问题域中一个适用而另一个不适用。
我认为主要区别在于,在过滤器模式中,所有链中的过滤器将按给定顺序执行。 责任链更具弹性-每个链元素会决定两件事:
责任链中的主要概念是将控制逻辑移动到链元素中。 调用代码不必做出决策(通过某些复杂的IF语句)哪种逻辑应该被调用,而是“逻辑”(提取到链的元素中)本身知道是否应该处理请求。
在我看来,过滤器模式是责任链的简化版。