本文主要是介绍第09课:责任链模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
概述
责任链模式为某个请求创建一个对象链,每个对象依次检查此请求,并对其进行处理,或者将它传给链中的下一个对象
链表是很常见一种数据结构,链表中的每一个节点都是一个对象,并且该对象中存储着下一个节点的指针。链表的基本结构如下:
责任链模式的结构其实和链表相差无几,唯一的区别就是责任链模式中所有的对象都有一个共同的父类(或接口):
在责任链模式中,N个 Handler 子类都处理同一个请求,只不过具体的职责有所差别。
当有一个请求进入时,先经过 AHandler 的 handlerRequest 方法,然后再把请求传递给 BHandler,B 处理完再把请求传递给 CHandler,以此类推,形成一个链条。链条上的每一个对象所承担的责任各不相同,这就是责任链模式。
现在我们模拟一个场景:论坛用户发表帖子,但是常常会有用户一些不良的信息,如广告信息,涉黄信息,涉及政治的敏感词等。这时我们就可以使用责任链模式来过滤用户发表的信息。
代码实现
先定义所有责任链对象的父类:
/*** 帖子处理器*/
public abstract class
这篇关于第09课:责任链模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!