假设我们有3个Interceptor,用责任链模式串联,一个个进行处理,代码写的话挺复杂的,但是如果直接把这3个Interceptor放在List中,for循环执行,每个interceport再加个supoort之类的条件判断,也能很简单地实现,那么责任链的写法优势在哪?
// 这种简单的写法对比与责任链模式有什么缺陷?
List<Interceptor> interceptors = new LinkedList<>();
for(Interceptor interceptor: interceptors) {
if(interceptor.support(xx)) {
interceptor.process(xx);
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…