【校招VIP】java设计模式之责任链模式

06月22日 收藏 0 评论 0 java开发

【校招VIP】java设计模式之责任链模式

考点介绍:

责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。

本期分享的java设计模式之责任链模式,分为试题、文章以及视频三部分。

答案详情解析和文章内容可扫下方二维码或链接即可查看!

一、考点题目

1.什么是责任链设计模式?

解答:定义:责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推……

2.责任链设计模式的使用场景?

解答:网关过滤器:一个url请求过来,首先要校验url是否是合法的, 不合法过滤掉,合法进入下一层校验;是否是在黑名单中,如果在过滤掉,不在进行下一层校验;校验参数是否合规,不合规过滤掉,合规进入下一层校验, 等等。请假审批流:请假天数小于3天,直属领导审批即可;天数大于3天,小于10天,要部门主管审批;天数大于10天要总经理审批。游戏通关: 完成第一关,并且分数>90,才能进入第二关;完成第二关,分数>80,才能进入第三关等等……

3.责任链设计模式的优缺点?

解答:优点:1.动态组合,使请求者和接受者解耦。2.请求者和接受者松散耦合:请求者不需要知道接受者,也不需要知道如何处理。每个职责对象只负责自己的职责范围,其他的交给后继者。各个组件间完全解耦。3.动态组合职责:职责链模式会把功能分散到单独的职责对象中,然后在使用时动态的组合形成链,从而可以灵活的分配职责对象,也可以灵活的添加改变对象职责……

4.以下 () 是适合使用责任链模式的情况

A.用户必须指定具体处理者

B.程序希望动态的订制可处理用户请求的集合对象

C.希望用户不必明确处理者的时候,同时向多个处理者发送请求

D.在许多对象可以处理用户请求的时候

正确答案:BCD,适合使用责任链模式的情况:1、在许多对象可以处理用户请求的时候2、希望用户不必明确处理者的时候,同时向多个处理者发送请求3、程序希望动态的订制可处理用户请求的集合对象……

(答案点击下方链接或者扫海报二维码查看哦)

二、考点文章

1.【校招VIP】设计模式之责任链模式

引入责任链模式,责任链模式描述的就是如何推卸责任,说的简洁点,就是踢皮球哈哈。举个例子,有时候,出了某件事,我们去解决,找到A,结果A踢皮球,说这不关我的事,去找B解决,然后我们就去找B,结果B也说,这跟我没关系,快去找C,就这样,我们就被踢来踢去,这就是责任链模式的思想,在找到正确的人解决之前,我们被不断的踢给一个有一个人,就是推卸责任……

2.【校招VIP】什么是责任链模式?

一、定义,避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。二、角色,Handler(抽象处理者):定义了一个处理请求的接口,一般设计为抽象类,由于不同的具体处理者处理请求的方式不同,因此在其中定义了抽象请求处理方法。因为每一个处理者的下家还是一个处理者,因此在抽象处理者中定义了一个抽象处理者类型的对象,作为其对下家的引用。通过该引用,处理者可以连成一条链……

3.【校招VIP】ChainOfResponsibility责任链模式

定义为请求创建一个接收者对象的链,使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之前的耦合关系。责任链模式通常有5个角色。责任链模式的重点在链上,由一条多个接收者对象组成的链去处理相似的请求,并且返回相似的结果。Level类:请求和处理的等级……

(扫下方海报二维码查看完整版)

三、考点视频

1.KMP算法从思想到代码实现

本题是一二线KMP的常考点,笔试只要掌握思路就行,但是面试经常要代码实现。要注意next数组的含义和生成过程,属于java笔4面4星考点……

移动端链接:https://m.xiaozhao.vip/dTopic/detail/446

PC端链接:https://xiaozhao.vip/dTopic/detail/446

C 0条回复 评论

帖子还没人回复快来抢沙发