Spring项目整合过滤链模式~实战应用

代码下载

设计模式代码全部在gitee上,下载链接: https://gitee.com/xiaozheng2019/desgin_mode.git
在这里插入图片描述

日常写代码遇到的囧

1.新建一个类,不知道该放哪个包下

2.方法名称叫A,干得却是A+B+C几件事情,随时隐藏着惊喜

3.想复用一个方法,但是里面嵌套了多余的逻辑,只能自己拆出来,或者重新写一个

4.想调现有方法,但是参数太定制化,要传一些不相关的参数,很不爽,算了,自己写一个

5.每次新增功能,都只能在原来方法中改,但怕影响到旧流程,于是出绝招–加开关

6.想重构一个类,最后几十个类都有改动,有种拔个萝卜带出泥的感觉,为了影响最小,最后改成了四不像

7.超级接口,功能强大到不知道怎么用了

学习设计模式,就能完美解决上面问题吗?

不能,但可以增强写出好代码的意识

文章介绍

本文主要是给大家介绍一下在Spring中策略模式的应用。这里不会扯到策略模式的概念和用例图,实战实战,如果是想看理论的,可以让步,这篇文章对实战很友好哦~~~~~~

背景介绍

    有一天,领导对小郑说,有段SQL的过滤逻辑复杂,日常生产运维,需要查某某数据为什么没出现,被什么条件给过滤掉了。小郑同学,你能不能转化成Java代码,帮忙写个工具快速知道数据被什么过滤。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/62072.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC计算分贝

分贝的一种定义是,表示功率量之比的一种单位,等于功率强度之比的常用对数的10倍; 主要用于度量声音强度,常用dB表示; 其计算,摘录网上一段资料; 声音的分贝值可以通过以下公式计算&#xff1…

css内容达到最底部但滚动条没有滚动到底部

也是犯了一个傻狗一样的错误 ,滚动条样式是直接复制的蓝湖的代码,有个高度,然后就出现了这样的bug 看了好久一直以为是布局或者overflow的问题,最后发现是因为我给这个滚动条加了个高度,我也是傻狗一样的,…

中国首份仿生机器人产业全景报告发布!大模型带来加速度,三大指标决定竞争格局

AGI火热发展,让仿生机器人的实现补全了最后一块重要拼图。 一直以来,仿生机器人都代表人类对于科技的一种终极想象,备受产业圈热捧。 马斯克、雷军等,纷纷押注这一赛道。特斯拉全尺寸仿生机器人Optimus、小米全尺寸通用人形机器…

docker容器监控:Cadvisor +Prometheus+Grafana的安装部署

目录 Cadvisor PrometheusGrafana的安装部署 一、安装docker: 1、安装docker-ce 2、阿里云镜像加速器 3、下载组件镜像 4、创建自定义网络 二、部署Cadvisor 1、被监控主机上部署Cadvisor容器 2、访问cAdvisor页面 三、安装prometheus 1、部署Prometheus…

【nacos】Param ‘serviceName‘ is illegal, serviceName is blank

报错信息 解决方式 一&#xff1a;缺少依赖 SpringBoot2.4之后不会默认加载bootstrap.yaml&#xff1b;需要手动在pom中加入如下依赖&#xff1a; <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-boot…

unable to write symref for HEAD: Permission denied

今天从gitee上面克隆项目到本地时报错如下 warning: unable to unlink ‘D:/IDEAcode/ruiji1.0/.git/HEAD.lock’: Invalid argument error: unable to write symref for HEAD: Permission denied 解决方法&#xff1a;将要存放项目的文件夹权限修改为完全控制 原先权限&…

Nginx配置文件理解

之前除了一篇nginx基础安装和基础使用的文章&#xff0c;由于长时间不使用nginx 了&#xff0c;再写一篇文章加强一下对nginx 的理解&#xff1b;当然更深入细致的理解最好去官网细致学习一下&#xff0c;并配和实践多多练习才是最好的&#xff1b; nginx常用的特性&#xff1a…

Chrome有些网站打不开,但是火狐可以打开

Chrome有些网站打不开&#xff0c;但是火狐可以打开 问题描述火狐成功界面谷歌报错界面局域网设置使用代理服务器访问成功 解决方案参考 问题描述 开了一个tizi&#xff0c;Chrome不能使用&#xff0c;火狐可以。之前装过插件Ghelper白嫖科学上网&#xff0c;那次之后好像浏览…

uniapp 将标题背景更换背景图片 完美解决(附加源码+实现效果图)

问题描述 今天拿到小程序的设计效果图后&#xff0c;标题部分背景需要加背景图片&#xff0c;以往我做的都是标题背景更换颜色等&#xff0c;加背景图片还是第一次遇到&#xff0c;大家可以先看下我的效果图是否与你遇到的问题一致&#xff01; 首页标题的背景是个背景图片。 …

15.4 【Linux】可唤醒停机期间的工作任务

15.4.1 什么是 anacron anacron 并不是用来取代 crontab 的&#xff0c;anacron 存在的目的就在于我们上头提到的&#xff0c;在处理非24 小时一直启动的 Linux 系统的 crontab 的执行&#xff01; 以及因为某些原因导致的超过时间而没有被执行的调度工作。 其实 anacron 也是…

SpringBoot源码分析(8)--内置ApplicationContextInitializer

文章目录 1、DelegatingApplicationContextInitializer2、SharedMetadataReaderFactoryContextInitializer3、ContextIdApplicationContextInitializer4、ConfigurationWarningsApplicationContextInitializer5、ServerPortInfoApplicationContextInitializer6、ConditionEvalu…

JMeter处理接口签名之BeanShell实现MD5加密

项目A需要给项目B提供一个接口&#xff0c;这个接口加密了&#xff0c;现在需要测试这个接口&#xff0c;需要怎么编写脚本呢&#xff1f;实现接口签名的方式有两种&#xff1a;BeanShell实现MD5加密和函数助手实现MD5加密&#xff0c;之前已经分享过了函数助手实现MD5加密&…