大B:“师弟,在责任链模式中还应该注意纯的与不纯的责任链模式。”
小A:“什么是纯的与不纯的责任链模式?”
大B:“一个纯的责任链模式要求一个具体的处理者对象只能在两个行为中选择一个:一是承担责任,二是把责任推给下家。不答应出现某一个具体处理者对象在承担了一部分责任后又把责任向下传的情况。在一个纯的责任链模式里面,一个请求必须被某一个处理者对象所接受;在一个不纯的责任链模式里面,一个请求可以最终不被任何接受端对象所接受。纯的责任链模式的实际例子很难找到,一般看到的例子均是不纯的责任链模式的实现。有些人认为不纯的责任链根本不是责任链模式,这也许是有道理的;但是在实际的系统里,纯的责任链很难找到;假如坚持责任链不纯便不是责任链模式,那么责任链模式便不会有太大的意义了。”
小A:“这回我可明白了。”