谈谈你了解的最常见的几种设计模式,说说他们的应用场景

发布时间:2026/11/8 1:10:49

谈谈你了解的最常见的几种设计模式,说说他们的应用场景 常见设计模式 应用场景面试Markdown后端面试高频设计模式分三大类创建型、结构型、行为型挑开发中最常用的来讲结合业务Spring源码场景。一、创建型模式负责对象的创建1. 单例模式作用保证一个类全局只有一个实例提供全局访问点。场景工具类、配置管理器、线程池、数据库连接池Spring中默认Bean就是单例实现饿汉、DCL双重检查锁、静态内部类、枚举单例防反射序列化2. 工厂模式简单工厂、工厂方法、抽象工厂1简单工厂一个工厂类根据参数创建不同对象。缺点新增产品要修改工厂代码违反开闭原则。场景简单对象创建业务变化不大。2工厂方法一个产品对应一个工厂每个工厂只生产一种产品。场景产品经常新增比如多种消息发送短信、邮件、站内信。3抽象工厂生产一组相关对象。场景整套组件比如不同操作系统的按钮、输入框组件。Spring BeanFactory就是工厂模式的体现。3. 建造者模式作用分步构建复杂对象隔离对象构建和表示同样构建过程可以产出不同对象。场景对象属性多构造函数参数爆炸比如Builder构建实体、DTO例子MyBatis中SqlSessionFactoryBuilderLombok的Builder注解。二、结构型模式类/对象组合组装成更大结构1. 代理模式分为静态代理、动态代理(JDK动态代理、CGLIB)作用给目标对象提供代理对象在不修改原有代码前提下做增强。场景AOP切面、日志、权限校验、事务控制、埋点统计Spring AOP底层就是动态代理。JDK代理基于接口CGLIB继承子类实现。2. 装饰器模式作用动态给对象增加额外功能比继承更灵活。场景IO流BufferedInputStream包装原始流给原有对象叠加额外能力不改动原有类。3. 适配器模式作用把一个类的接口转换成客户端期望的另一个接口做兼容适配。场景接入第三方接口第三方返回格式和我们系统不匹配写适配器做转换SpringMVCHandlerAdapter适配不同处理器。4. 组合模式作用树形结构统一对待叶子节点和容器节点。场景菜单树、部门组织树、文件目录。三、行为型模式对象之间通信、算法、流程控制1. 策略模式作用把多种算法抽成策略接口实现运行时动态替换消灭大量if‑else。场景多种支付方式、多种折扣算法、多种导出方式。Spring大量使用比如Comparator。2. 模板方法模式作用父类定义固定流程骨架可变步骤交给子类实现final保证流程不被篡改基于继承。场景流程固定部分步骤不同文件导入导出任务。SpringJdbcTemplate就是典型模板方法。3. 观察者模式发布‑订阅作用一对多主题变化所有订阅者自动收到通知。场景事件通知、消息推送、事件监听。Spring事件机制、MQ思想GUI事件监听。4. 责任链模式作用多个处理者组成链条请求沿着链条依次处理可以传递或者终止。场景过滤器、拦截器、权限校验链、审批流程。SpringMVCFilter、InterceptorMyBatis插件链。5. 迭代器模式作用统一遍历集合对外隐藏底层集合结构。场景Java集合的Iterator迭代器。6. 命令模式把请求封装成对象可以保存、排队、撤销。场景任务队列、撤销重做操作。面试口述总结可以直接背我平时接触比较多的分为创建、结构、行为三类。创建型最常用单例、工厂、建造者主要解决对象创建问题单例保证全局唯一实例工厂封装对象创建逻辑建造者用于构建复杂多属性对象。结构型常用代理、适配器、装饰器代理用于功能增强SpringAOP就是动态代理适配器用来兼容不同接口装饰器动态扩展对象能力。行为型里面策略、模板方法、责任链、观察者用得最多。策略模式用来消除if‑else动态切换算法模板方法父类固定流程骨架子类实现可变步骤责任链适合一层层校验处理观察者实现事件的发布订阅解耦。很多设计模式在Spring、MyBatis源码中都有落地。
延伸阅读

更多相关文章

2026/11/8 1:10:48

Web Audio API声控游戏开发:从音频处理到肺活量测试实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/8 1:10:48

FakeLinux:macOS上运行Linux二进制的兼容层而非发行版

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 18:25:27

Unity消融效果Shader实现:动态着色与边缘高亮全解析

怪物溶解、角色被烧成灰烬、物体随时间剥落,这类效果在项目里通常需要一段“消融”过渡来衔接死亡与残留物出现的节奏。之前我带的小组做技能演示时,需求方给的关键词就三个:Unity、动态着色、消融效果。听起来简单,真做起来发现难…

2026/11/8 18:01:49

包头电工证网上报名怎么选?别再被中介坑了,电子证书来了

包头电工证网上报名怎么选?别再被中介坑了,电子证书来了 你是不是正愁不知道去哪儿报名包头电工证?网上一堆培训机构,真假难辨,稍不注意就可能被中介坑了,花了不少钱还拿不到电子证书?别急,这篇文章帮你避坑,从报名到取证,全流程讲清楚。…

2026/11/8 18:01:49

电工证2级可以干嘛 内部消息告诉你怎么用证赚钱

电工证2级可以干嘛 内部消息告诉你怎么用证赚钱 工地太忙根本没时间复习考试,我懂你。每天扛着工具满工地跑,还要抽空看手机刷题,感觉时间不够用,但又不能耽误了电工证2级的考试。这种感觉,很多在一线的电工朋友都经历过,尤其是咱们河南鹤壁这边,建…

2026/11/8 18:01:49

忠县哪里考电工证?2026河南最新政策让低学历也能考!

忠县哪里考电工证?2026河南最新政策让低学历也能考! 你是不是也担心, 学历不高怕报不上名 ?别慌,2026年河南最新政策已经明确,只要你是特种作业的“实操派”,学历门槛正在逐步放宽。忠县哪里考电工证?其实不难,关键是要看懂新规、找对机构…

2026/11/8 18:01:49

忠县哪里考电工证值不值得考?外省证能不能转过来?

忠县哪里考电工证值不值得考?外省证能不能转过来? 之前考的证在外省能不能转过来?这是很多已经在外地工作或打算在忠县发展的电工朋友最关心的问题。如果你正在纠结忠县哪里考电工证值不值得考,或者外省的证能不能转过来,这篇文章就来帮你理清楚思路。…

2026/11/8 18:01:49

电工证成绩在哪查询 外省证能转过来吗多少钱才够用

电工证成绩在哪查询 外省证能转过来吗多少钱才够用 之前考的证在外省能不能转过来?这是很多小伙伴在考电工证前最关心的问题,尤其是从外地过来打工或者转岗的朋友们。你是不是也经常问自己, 多少钱…

2026/11/8 17:56:49

佛山在哪报名电工证良心建议,外省证能不能转过来全解析

佛山在哪报名电工证良心建议,外省证能不能转过来全解析 之前考的证在外省能不能转过来?这个问题困扰着不少准备在佛山发展或者已经在佛山工作的电工从业者。如果你也是从外地过来,或者之前在别的城市考了电工证, 佛山在哪报名电工证…

2026/11/8 0:00:27

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/8 0:00:27

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/7 14:54:47

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/7 14:50:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑