springboot使用设计模式

1.单例模式

全局使用一个对象,不需要再去new新的对象,直接使用枚举就是单例模式

2. 工厂模式+策略模式

springboot使用工厂模式+策略模式_我是一只代码狗的博客-CSDN博客

3.建造者模式

减少参数的传递,在内部创建对象,不对外直接暴露创建对象,链式调用

在项目中使用SpringSecurity 和StringBuilder 都是使用的建造者模式

下面的就是链式调用,返回StringBuilder对象

4.代理模式

代理一个方法,对其进行增强操作,不改变原有的代码,可以做日志,权限,限流,事物

在项目中使用aop就是代理模式

5.原型模式

springboot中使用原型模式_我是一只代码狗的博客-CSDN博客

6.门面模式,外观模式

 就是我们的控制层Controller,前端只能访问控制层,不能直接访问service,前后分离

7.适配器模式

 就是有一个接口想要适配多个支付功能,前端选择支付宝支付,微信支付,控制层调用的是同一个方法,在方法内部通过if else判断去调用对应的支付接口,这就是适配器模式

8.桥接模式+装饰器模式

springboot中的桥接模式+装饰器模式_我是一只代码狗的博客-CSDN博客

9.组合模式

 组合模式就是根据树形结构来组成一个对象,例如组织机构树形菜单

10.享元模式

享元模式就是减少对象的创建,减少内存的占用

例如:Integer.valueOf 如果缓存池中存在,直接从缓存池拿,缓存池不存在,才创建对象

或者使用map,去判断这个对象存不存在,存在直接拿,不存在,才创建新的对象

11.责任链模式

springboot中使用责任链模式_我是一只代码狗的博客-CSDN博客

12.命令模式 

命令模式就是把请求的操作封装成一个对象,请求和执行分开,不需要关心 他是怎么调用内部的命令去执行的,只需要把命令发给这个中间人,由这个中间人来转发不同的命令

例如:我们使用mq发送消息,就是命令模式,在控制层发送命令,到mq,

在其他系统去接收这个命令去调用不同的接口

或者通过XXL-JOB设置了一个定时任务的命令,在某一个时刻去触发,这也是命令模式

13.迭代器模式

迭代器模式就是顺序的执行集合内部的对象信息,不需要关系集合内部的实现

Iterator就是迭代器,我们的集合中使用的就是迭代器的用于遍历对象信息

14.中介者模式

中介者模式就是降低多个类和对象之间访问的复杂性,通过一个中介去获取数据

controller通过中介service访问dao,dao返回数据到service,service返回数据给controller就是中介者模式

15.观察者模式

springboot使用观察者模式_我是一只代码狗的博客-CSDN博客

16.备忘录模式

备忘录模式就是保存一个对象的状态,以便在某一时刻恢复对象

例如: 回收站,数据库事物

17.状态模式

状态模式就是类的行为根据类的状态改变而改变

例如:工作流中, 发起申请-》经理审批-》流程结束,状态的变化,调用不同的方法进行处理

18.模板模式

模板模式就是在一个类定义了方法,他的子类可以进行重写

service接口就是模板模式,定义好接口后,impl进行实现重写接口的方法

19.访问者模式

访问者模式主要将数据结构和数据操作进行分离,代码比较复杂,仅做了解

20.解释器模式

解释器模式就是定义一个表达式接口,该接口负责解析上下文,一般用于sql解析,底层条件解析,仅做了解

你可能感兴趣的:(springboot,java,设计模式,springboot)