责任流程实现:
=======
第一关项目经理面试实现:
package com.xy.design.hanlder.impl;
import com.xy.design.common.Constants;
import com.xy.design.hanlder.InterviewHanlder;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
-
项目经理面试
-
第一关面试
*/
@Service(Constants.INTERVIEW_PM)
@Component
public class PMHandler extends InterviewHanlder {
@Override
public void getTheInterview() {
System.out.println(“项目经理面试–通过----------------”);
nextInterviewFlag();
}
}
第二关技术总监面试实现:
package com.xy.design.hanlder.impl;
import com.xy.design.common.Constants;
import com.xy.design.hanlder.InterviewHanlder;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
-
技术总监面试
-
第二关面试
*/
@Service(Constants.INTERVIEW_JS)
@Component
public class TechnologyHandler extends InterviewHanlder {
@Override
public void getTheInterview() {
System.out.println(“技术总监面试–通过----------------”);
nextInterviewFlag();
}
}
第三关,老板面试实现:
package com.xy.design.hanlder.impl;
import com.xy.design.common.Constants;
import com.xy.design.hanlder.InterviewHanlder;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
-
老板面试
-
第三关面试
*/
@Service(Constants.INTERVIEW_BOOS)
@Component
public class BoosHandler extends InterviewHanlder {
@Override
public void getTheInterview() {
System.out.println(“老板面试–通过----------------”);
nextInterviewFlag();
}
}
第四关 hr面试实现
package com.xy.design.hanlder.impl;
import com.xy.design.common.Constants;
import com.xy.design.hanlder.InterviewHanlder;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
-
hr面试
-
第四关hr行政面试
*/
@Service(Constants.INTERVIEW_HR)
@Component
public class HrHandler extends InterviewHanlder {
@Override
public void getTheInterview() {
System.out.println(“HR谈面试–通过----------------”);
}
}
具体实现类:
package com.xy.design.service;
import com.xy.design.common.Constants;
import com.xy.design.hanlder.InterviewHanlder;
import com.xy.design.utils.SpringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
-
-
责任链具体实现类
-
@author xy
-
@since 2021-10-21
*/
@Service
public class interviewHanlderServiceImpl implements InterviewHandlerService {
private InterviewHanlder firstGatewayHandler;
@Override
public InterviewHanlder getHandler() {
//todo 这里最好是写成动态数据库配置 我这里测试使用写死的方式
InterviewHanlder firstInterviewHanlder = SpringUtils.getBean(Constants.INTERVIEW_PM, InterviewHanlder.class);
//根据顺序依次设置责任链执行
List hanlderList = new ArrayList<>();
hanlderList.add(Constants.INTERVIEW_JS);
hanlderList.add(Constants.INTERVIEW_BOOS);
hanlderList.add(Constants.INTERVIEW_HR);
//用一个临时变量接收全局Hanlder
InterviewHanlder temoInterviewHanlder = firstInterviewHanlder;
for (String hanlder : hanlderList) {
//通过代理获取实现类SpringContenxt
InterviewHanlder hanlderImpl = SpringUtils.getBean(hanlder, InterviewHanlder.class);
temoInterviewHanlder.setNextGatewayHandler(hanlderImpl);
}
this.firstGatewayHandler = firstInterviewHanlder;
return firstGatewayHandler;
}
}
公共参数:
/**
- 项目经理标识
*/
public static String INTERVIEW_PM = “pm”;
/**
- 技术总监标识
*/
public static String INTERVIEW_JS = “js”;
/**
- 老板标识
*/
public static String INTERVIEW_BOOS = “boos”;
/**
- Hr标识
*/
public static String INTERVIEW_HR = “hr”;
控制器:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
读者福利
分享一份自己整理好的Java面试手册,还有一些面试题pdf
不要停下自己学习的脚步
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
取!!(备注Java获取)**
读者福利
分享一份自己整理好的Java面试手册,还有一些面试题pdf
不要停下自己学习的脚步
[外链图片转存中…(img-HJ1LZD3D-1713689905266)]
[外链图片转存中…(img-LHa0QUJ5-1713689905266)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!