关于过滤器,拦截器,监听器

作者:Kangol LI
链接:https://www.zhihu.com/question/35225845/answer/61876681
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

启动顺序:监听器 > 过滤器 > 拦截器

以下回答从设计模式的角度分析它们的不同。一个个来。

过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西。定义这些要求的工具,就是过滤器。
拦截器(Interceptor):在一个流程正在进行的时候,你希望干预它的进展,甚至终止它进行,这是拦截器做的事情。
监听器(Listener):当一个事件发生的时候,你希望获得这个事件发生的详细信息,而并不想干预这个事件本身的进程,这就要用到监听器。

======================================

<img src="https://pic3.zhimg.com/50/bd2706ab2e98c175b10b1e49e3df1389_hd.jpg" data-rawwidth="161" data-rawheight="187" class="content_image" width="161">
更形象一点表示:

过滤器:只想要在一堆东西里面选个B

<img src="https://pic3.zhimg.com/50/8eb271ce281d5ced5e03050e24091128_hd.jpg" data-rawwidth="720" data-rawheight="689" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/8eb271ce281d5ced5e03050e24091128_r.jpg"> 拦截器:把水流变小点,把鱼都拦住!顺便发个电
<img src="https://pic3.zhimg.com/50/8ad0b7bc4e9185dfd2f777e96ae24972_hd.jpg" data-rawwidth="720" data-rawheight="689" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/8ad0b7bc4e9185dfd2f777e96ae24972_r.jpg"> 监听器:题主一定会说上面是个水利工程,其实发电的原理是这样的。。
<img src="https://pic3.zhimg.com/50/22092c04c0ccd7d1aab1db022fb25ba0_hd.jpg" data-rawwidth="720" data-rawheight="689" class="origin_image zh-lightbox-thumb" width="720" data-original="https://pic3.zhimg.com/22092c04c0ccd7d1aab1db022fb25ba0_r.jpg">
发布了26 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ganyouxian_java/article/details/80200603
今日推荐