0设计模式使用场景

张开发
2026/4/6 19:59:44 15 分钟阅读

分享文章

0设计模式使用场景
文章目录1. 单例模式Singleton2. 工厂模式 / 简单工厂 / 抽象工厂3. 策略模式Strategy高频4. 模板方法模式Template Method5. 代理模式Proxy6. 装饰器模式Decorator7. 观察者模式Observer8. 建造者模式Builder9. 适配器模式Adapter10. 责任链模式Chain of Responsibility1. 单例模式Singleton用到的地方Spring 中 Bean 默认 singleton工具类RedisUtil、ExcelUtil、DateUtil线程池、工厂类、配置类全局异常处理器、拦截器一句话全局唯一、避免重复创建、节约资源。2. 工厂模式 / 简单工厂 / 抽象工厂用到的地方Spring BeanFactory、ApplicationContextMyBatis SqlSessionFactory线程池工厂 Executors多数据源切换支付渠道工厂支付宝/微信/银联一句话封装对象创建统一管理便于扩展。3. 策略模式Strategy高频用到的地方不同支付方式不同文件解析策略Excel/PDF/Word不同消息推送短信/邮件/站内信权限校验策略、日志存储策略若依中多类型字典解析、导出策略一句话消除大量 if-else符合开闭原则。4. 模板方法模式Template Method用到的地方MyBatis BaseMapperSpring JdbcTemplate通用业务流程校验 → 处理 → 日志 → 通知若依的 BaseController、BaseService一句话固定流程骨架子类只实现差异步骤。5. 代理模式Proxy用到的地方Spring AOP日志、事务、权限MyBatis Mapper 代理分布式锁代理、缓存代理异步方法代理 Async一句话不修改原代码增强功能。6. 装饰器模式Decorator用到的地方Java IO 流BufferedInputStream 包裹 FileInputStream缓存装饰、日志装饰请求/响应包装类一句话动态增强对象功能比继承更灵活。7. 观察者模式Observer用到的地方消息队列发布订阅Spring Event 事件机制订单创建后触发扣库存、发短信、push网关、监听配置变更一句话一对多通知解耦触发与执行。8. 建造者模式Builder用到的地方Lombok BuilderStringBuilder、StringBuffer统一返回对象 AjaxResult.build()复杂查询条件构建一句话分步构建复杂对象代码优雅。9. 适配器模式Adapter用到的地方Spring MVC HandlerAdapter第三方接口适配统一返回格式老系统接口兼容新系统一句话把不兼容接口转成统一标准。10. 责任链模式Chain of Responsibility用到的地方过滤器 Filter、拦截器 InterceptorSpring Security 权限链审批流、多级审核参数校验、日志、签名、防重提交链路目的是提高代码可维护性、可扩展性降低耦合符合开闭原则。

更多文章