lizema lizema
首页
  • js

    • js
  • Git相关

    • 《Git》
  • 设计模式

    • 设计模式
  • java
  • jdk
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • HTML
  • CSS
  • 学习方法
  • 敏捷开发心得
  • 心情杂货
  • 实用技巧
  • GPT相关
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

malize

各自努力,顶峰相见。
首页
  • js

    • js
  • Git相关

    • 《Git》
  • 设计模式

    • 设计模式
  • java
  • jdk
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • HTML
  • CSS
  • 学习方法
  • 敏捷开发心得
  • 心情杂货
  • 实用技巧
  • GPT相关
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工作中用到的设计模式
  • 享元模式
  • 单例模式
  • 原型模式
  • 备忘录模式
  • 外观模式
  • 工厂方法模式
  • 模板方法模式
  • 策略模式
  • 装饰模式
  • 访问者模式
  • 责任链模式
  • 适配器模式
  • 中介者模式
  • 设计模式
malize
2024-07-29

工作中用到的设计模式

# 设计模式都用了哪些:

1.责任链模式:一个场景是为npos部门提供计算offer的接口,首先第一步是要进行传入参数合法性校验的过滤,常规的校验一般是两种:

  • 使用validate相关的注解和自定义注解校验入参请求对象
  • 复杂点的需要代码里手动判断。

我们因为有一些校验是包含一些复杂的数据库查询,和流程判断的,所以需要手动写代码判断并处理,这种情况下使用责任链模式,定义一个通用的校验规则接口,不同的校验规则是接口的实现类,使用的时候,不同的方法用哪些规则添加哪些规则的实现类即可,接口中遍历所有添加到规则的实现类。

2.策略模式:把if else这种的条件语句的所有条件都放到map里,具体的条件处理方式使用具体的实现类。

3.单例模式:场景是工具类,例如生成uuid的、定时任务springbatch那里统一处理记录job的任务执行日志的。目的就是省资源,不用频繁创建对象,第二个就是保证类的安全

4.模板模式:一部分流程是通用的,只是具体实现细节不同,提取公共的流程成抽象方法,具体的实现让子类实现。

编辑 (opens new window)
#设计模式案例
享元模式

享元模式→

最近更新
01
其他
02
其他
03
名人总结
08-27
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式