Java 责任链模式

来源:互联网 发布:linux yum安装wget 编辑:程序博客网 时间:2024/05/02 17:49

定义:责任链模式是一种设计模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任,避免了请求发送者和接受者之间的耦合,但也同时降低了性能。代码中的Exception就是一个责任链模式。JavaScrpitEventModel也是。
类图:
这里写图片描述
有两个实现类Conacrete继承自Handler,同时Client暴漏了一个接口给Handler,Handler同时持有一个自己类型的引用。
类比:比如我们现在去买房,需要能拿到一个满意的折扣,这个时候我们可能最先接触到的是普通销售人员,我们需要申请八折,但是普通销售人员做不了主,可能需要一级级的上报,比如上报给销售总监,总经理,CEO等,直到我们目标人物的任务达成,这个销售团队就相当于一个链条,请求的折扣相当于一个任务。
代码实现:

0 0
原创粉丝点击