当前位置: 首页 > news >正文

中国建设银行章丘支行网站wordpress收录主题

中国建设银行章丘支行网站,wordpress收录主题,wordpress图片链接属性,全椒县城乡建设局网站利用模板模式和责任链模式实现数据校验 一、业务背景二、模板模式和责任链模式代码实现1、数据校验抽象处理器ValidateHandler2、数据校验责任链工具类ValidateChainUtil3、网元调整数据校验抽象类AbstractNodeCheckHandler4、依次定义3个责任链handler#xff0c;通过Order注… 利用模板模式和责任链模式实现数据校验 一、业务背景二、模板模式和责任链模式代码实现1、数据校验抽象处理器ValidateHandler2、数据校验责任链工具类ValidateChainUtil3、网元调整数据校验抽象类AbstractNodeCheckHandler4、依次定义3个责任链handler通过Order注解控制执行顺序 三、测试验证四、项目结构及源码 一、业务背景 对项目进行微重构的需求任务中发现有个旧业务代码一个Service的离线校验网元方法中竟然有将近12个逻辑校验代码非常臃肿可维护性大打折扣。因此需要对这个方法进行重构这里简单记录下涉及的重构方法算是抛砖引玉。 二、模板模式和责任链模式代码实现 1、数据校验抽象处理器ValidateHandler /*** 数据校验抽象处理器** author huahua* DATE 2024/8/9**/ public abstract class ValidateHandlerT {private ValidateHandlerT next;public void setNext(ValidateHandlerT next) {this.next next;}public abstract void doValidate(T validateData);public void next(T validateData) {if (next null) {return;}next.doValidate(validateData);} }2、数据校验责任链工具类ValidateChainUtil /*** 数据校验责任链工具类** author huahua* DATE 2024/8/9**/ public class ValidateChainUtil {public static T void doValidateChain(ListValidateHandlerT chainNodeList, T validateData) {if (CollectionUtils.isEmpty(chainNodeList)) {return;}// 初始化调用链所有节点for (int i 0; i chainNodeList.size()-1; i) {chainNodeList.get(i).setNext(chainNodeList.get(i 1));}// 取第一个节点进行校验chainNodeList.get(0).doValidate(validateData);} }3、网元调整数据校验抽象类AbstractNodeCheckHandler /*** 网元调整数据校验抽象类** author huahua* DATE 2024/8/9**/ Component public abstract class AbstractNodeCheckHandler extends ValidateHandlerNode {/*** 基础校验参数是否为空** param node*/public void checkParam(Node node) {if (node null) {throw new RuntimeException(node is empty);}} }4、依次定义3个责任链handler通过Order注解控制执行顺序 NodeCheckInitHandler /*** 网元校验信息初始化处理器** author huahua* DATE 2024/8/9**/ Component Order(100) public class NodeCheckInitHandler extends AbstractNodeCheckHandler {Overridepublic void doValidate(Node node) {System.out.println(执行校验node是否在数据库中业务逻辑......);// 初始化校验结束进入下一个节点next(node);} }NodeCheckPermissionHandler /*** 网元字段权限校验处理器** author huahua* DATE 2024/8/9**/ Component Order(200) public class NodeCheckPermissionHandler extends AbstractNodeCheckHandler {Overridepublic void doValidate(Node node) {System.out.println(执行校验网元字段权限业务逻辑.......);// 网元字段权限校验通过执行下一逻辑next(node);} }NodeCheckPoolHandler /*** 网元资源池校验处理类** author huahua* DATE 2024/8/9**/ Component Order(300) public class NodeCheckPoolHandler extends AbstractNodeCheckHandler {Overridepublic void doValidate(Node node) {System.out.println(执行网元资源池校验业务逻辑.......);// 网元资源池校验通过执行下一逻辑next(node);} }三、测试验证 通过访问接口可以看到控制台能够按照顺序正确执行数据校验逻辑利用模板模式和责任链模式实现数据校验正确结果得到验证 四、项目结构及源码 源码下载地址如下欢迎Star demo-springboot-mybatisplus
http://www.hkea.cn/news/14378073/

相关文章:

  • 品牌自适应网站建设php做的网站处理速度怎么样
  • 如何用word做简单的网站广州软件开发定制
  • 女頻做的最好的网站网站设计与管理方向
  • 住房建设部官方网站居住区政策重庆美食制作
  • 企业网站开发标准电商网站 知名案例
  • 移动网站开发的视频下载企业网址怎么申请
  • 企业手机网站设计UE做的比较好的网站
  • 蓬莱做网站哪家好上海网站建设设计公司排名
  • 动态图网站怎么做dw网站 开发 成本
  • 问答类咨询网站的建设网站伪静态全站伪静态
  • 国家中管局官方网站研究所建设要求网站后台清除缓存在哪
  • 网站后台无法上传附件建盏大师排名表及落款
  • 常州知名做网站服务描述自己做的网站
  • 北京网站建设厂家中国建设人才专业服务网
  • 旅游网站建设平台分析flash怎么做电子书下载网站
  • 企业网站建设的总体目标深圳网络优化培训
  • 个人备案门户网站郑州seo地址
  • 网站建设的收费标准网站开发建设流程
  • 自己怎么做返利网站微信营销和网站建设
  • 自己搭建一个博客网站做网站登录页面的论文
  • 怎么做社交网站引流到亚马逊建e室内设计网app
  • 怎样打造营销型网站建设天津seo培训班在哪里
  • 网站风格设计要素名校长工作室网站建设
  • 网站设计需求分析报告百度网盘官网下载
  • 社区网站做的比较好的有哪些html网页设计模板免费下载
  • 营销型网站推广服务怀化医保网站
  • 塑胶模具东莞网站建设响应式布局如何实现
  • 农林网站建设精品简历模板网站
  • 设计网站公司可去亿企邦网络信息安全网站开发教程
  • 百度给做网站收费多少钱学生如何自己做网站