文章
所有已发布的文章
-
JustAuth 强依赖 hutool-http,想换成 OkHttp3 怎么办?simple-http 来解耦!设计思路:定义通用 Http 接口,提供 4 种默认实现(JDK11 HttpClient、OkHttp3、Apache HttpClient、Hutool)。通过 Class.forName() 自动探测依赖,也支持自定义实现。运用了代理模式、委派模式、策略模式。
-
BufferedReader、InputStream、OutputStream……JDK IO 类为什么可以层层包装?装饰者模式!本文用「购买 MacBook Pro 升级内存/硬盘套餐」的场景讲解:基础套餐 → 叠加内存装饰器 → 叠加硬盘装饰器,动态扩展功能。比继承更灵活,符合开闭原则。
-
微信朋友圈点赞,为什么所有好友都能收到通知?因为观察者模式!本文用「私信推送通知」的场景讲解:Pusher 作为被观察者发布消息,User 作为观察者订阅并接收。setChanged() + notifyObservers() 触发通知。JDK Observer、Guava EventBus、Spring ApplicationEvent 都是典型应用。
-
JdbcTemplate、RedisTemplate、MongoTemplate……Spring 为啥这么爱用 Template?因为模板方法模式太香了!本文用「短信/邮件发送器」的场景讲解:父类定义 validate → execute → error 的流程骨架,子类只需实现具体步骤。公共逻辑不重复,扩展新渠道只加子类。
-
Mock 数据不够真实?Easy Mock + Mock.js 让假数据活起来!本文详解:基础语法生成随机数据、数据占位符模拟真实场景、响应式数据根据请求参数返回。重点:如何用 Easy Mock 实现分页数据接口,附完整模板代码。前端小姐姐再也不用求后端了!
-
前后端并行开发,接口还没写好怎么办?Easy Mock 帮你搞定 Mock 数据!本文使用 docker-compose 一键部署 Easy Mock(含 MongoDB + Redis),附 nginx 配置 HTTPS 反向代理。告别手写假数据、拦截请求的麻烦,可视化创建接口,支持 Swagger 导入。
-
电脑 USB 接口和手机 Type-C 不兼容?买个转接头啊!适配器模式就是代码世界的「转接头」。本文用 USB 转 Type-C 的场景讲解:老接口不改动,新增适配器类做转换。Spring MVC 的 HandlerAdapter、Spring AOP 的 AdvisorAdapter 都是典型应用。
-
支付宝、微信、京东、银联……一堆 if-else 判断支付方式?策略模式帮你优雅消灭!本文用「选择支付方式」的场景讲解:定义 Payment 接口,不同支付方式各自实现。JDK 的 Comparator、Spring 的 Resource 都是典型应用。符合开闭原则,扩展新支付只需新增类。
-
还在用 Jenkins、Travis-CI?GitHub 自家的 CI/CD 来了!GitHub Actions 支持自定义工作流,开源项目免费使用。本文记录申请流程和 Spring Boot + Maven 项目的配置示例,push 代码自动触发构建,真香!附完整 maven.yml 配置。
-
委派模式和代理模式傻傻分不清?核心区别:代理注重过程,委派注重结果!本文用「老板-组长-工人」的场景讲解:Boss 下命令,Leader 派发任务,Worker 执行。虽然不属于 GoF 23 种设计模式,但 Spring MVC 的 DispatcherServlet 就是典型应用。