你说的跟老师这节讲的filterChain意思差不多 如果你学过java web中的过滤器,应该是可以理解的
模式是长期的工作中总结出来的经典的模板
因该是出现死循环了吧
哦,现在看懂了,我基础有多差。。。
应该是用到了抽象方法和实现部分,renturn的知识
由于在主函数中直接调用了,也就是初始化时候,setPriceHandler了静态函数PriceHandlerFactory.createPriceHandler(),而此方法 retrun了唯一的对象是sales;
所以运行时,priceHandler也的实例对象也就是sales,不存在多个的问题。。
答案在下一节,啊哈哈
严格来说,不是。因为一个request可以被链条上的多个filter处理。但是,对于责任链来说,一个request只能被链条中的一个handler处理。
在继承体系里,我们都把父类画在上面,子类画在下面,所以子类转型为父类就是向上转型。向上转型是我们在应用面向接口编程的常用做法,这样我们的程序就依赖抽象的父类而不是具体的子类了。
是想让大家更好的观察和理解责任链对于解耦的好处。