自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 spring boot 参数统一校验

isVaild()方法是校验方法,返回值为boolean,如果为true则校验通过,如果为false则校验不通过,并且返回提示信息,即自定义注解中的message属性,该属性可以被覆盖,覆盖方法即调用上下文环境通过构造模板设置参数,我的做法就是这样的。自定义校验类需要继承ConstraintValidator接口,接口泛型第一个参数是注解类,第二个参数是校验的目标字段的类型。使用自定义校验分两部分,第一部分是在需要校验的参数上加我们写好的自定义注解。Constraint注解定义的是自定义校验类。

2024-01-17 14:24:25 562 1

原创 聊聊代码设计的程序解耦

我们在程序开发过程中经常会遇到这样的问题:我们在开发的中后期,新增、修改需求变得越来越难,因为每一次在原有基础上的新增、修改,都不可避免的接触到旧有代码,而旧有代码在设计之初兵没有考虑太多维护、扩展的问题,这就大大增加了我们的开发成本。诚然,把代码开发到可以运行并不是不能做到,但这相当于变相抛出问题,给后来维护、修改代码的同时挖坑。出现这些问题的原因大多是因为代码的:低内聚,高耦合。

2023-05-12 11:11:12 515 1

原创 如何优雅地修改同事的代码

在实际的开发过程中,我们很难保证一个业务从头到尾都是自己开发的,我们不得不经常面对修改同事的**代码,本人就因为修改同事的**代码而心烦意乱,直拍桌子,最后被3个领导叫到小办公室训话1小时(是3个领导各训话1小时)。当然,我不是对同事不满,大家都是从最初级的阶段走过来的,他的能力在这个阶段就是这个水准,这是避免不了的。不过工作还要继续,我们要对自己的工作负责任。我只是对自己不满,如果我能找到一种优雅的方式,在不对他的代码进行过多调整的情况下完成需求的开发就好了。

2023-05-10 15:22:45 820 1

原创 如何优雅地使用模板模式

模板模式可能是我们接触到的最简单的一种设计模式了,甚至很多3年开发经验的老鸟会很不屑一顾的说“模板模式?那不就是抽象类吗?”是,模板模式就是抽象类,但是如何用好抽象类可并不简单。模板模式最大的问题不是技术问题,一个抽象类+几个实现类能有多大设计上的复杂度?模板模式最大的问题是业务问题,如果抽象类抽象不合理,他的维护成本和维护难度比接口要大的多,也复杂得多。难点1:抽象类应该抽象哪些属性?难点2:抽象类应该抽象哪些方法?难点3:抽象类是否应该有私有属性?难点4:抽象类是否应该有私有方法?

2023-05-10 11:48:11 116 1

原创 单例工厂+模板策略改造switch代码

要改变一些需求设计呢?不同的可成的教学主体是不一样的,语文应该有语文的教学主体,数学应该有数学的教学主体,英语应该有英语的教学主体,每一个教学主体彼此独立,但是应该有一些共同的特性,所以应该提供一个抽象的教学主体,可以是接口,可以是模板,根据具体业务具体分析,语文、数学、英语三个教学主体应该对抽象模板(或者接口)进行实现。根据上文的分析,我们首先要做一个抽象的教学策略类或接口,这里我们采用接口而非抽象类的方式进行实现,当然也可以写成抽象类的模板方法,便于抽象和扩展,具体实现需要根据需求具体分析。

2023-05-09 10:26:45 180 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除