摘要: 本文是【GoF设计模式】系列第11篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要组合模式? 假设在做一个文件管理系统,需要统计某个文件夹的总大小。文件夹里有文件,也有子文件夹,子文件夹里还有文件和文件夹——这是一棵递归的树。 如果文件和文件夹是两个完全不同的类,代码会变成这样: if (no 阅读全文
posted @ 2026-06-11 23:24 咖啡八杯 阅读(7) 评论(0) 推荐(0)
摘要: 本文是【GoF设计模式】系列第10篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要桥接模式? 假设要做一个图形编辑器,有圆形、矩形、三角形三种图形,每种图形又要支持红色、蓝色、黄色三种颜色。用继承来实现,就要写 RedCircle、BlueCircle、RedRectangle、BlueRec 阅读全文
posted @ 2026-06-09 22:42 咖啡八杯 阅读(11) 评论(0) 推荐(0)
摘要: 本文是【GoF设计模式】系列第9篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要外观模式? 开发中经常遇到这种情况:一个业务操作需要依次调用多个子系统。比如"启动系统"要先初始化数据库连接、加载配置文件、启动缓存服务、注册定时任务——每个子系统都有自己的接口和调用顺序,漏掉一步或顺序错误都会导 阅读全文
posted @ 2026-06-04 22:02 咖啡八杯 阅读(8) 评论(1) 推荐(0)
摘要: 本文是【GoF设计模式】系列第8篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要装饰模式? 假设经营一家咖啡店,有基础咖啡和浓缩咖啡两种基底。顾客可以加牛奶、加糖、加珍珠……如果用继承来实现每一种组合,会得到 MilkCoffee、SugarCoffee、MilkSugarCoffee、Pea 阅读全文
posted @ 2026-06-02 23:10 咖啡八杯 阅读(13) 评论(0) 推荐(0)
摘要: 本文是【GoF设计模式】系列第7篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要代理模式? 有时候我们不能或不想直接访问某个对象。比如对象创建开销很大需要延迟加载,或者需要在访问前做权限检查,或者需要记录访问日志。直接在业务代码中掺杂这些逻辑会让代码臃肿且难以维护。 代理模式通过引入一个中间层 阅读全文
posted @ 2026-05-28 22:00 咖啡八杯 阅读(110) 评论(0) 推荐(1)
摘要: 本文是【GoF设计模式】系列第6篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要适配器模式? 写业务代码时经常碰到这种情况:项目里已经定义好了一个接口 PaymentGateway,所有支付都走它的 pay(orderId, amount) 方法;今天产品说要接入微信支付,打开 SDK 一看— 阅读全文
posted @ 2026-05-26 22:48 咖啡八杯 阅读(15) 评论(0) 推荐(0)
摘要: 最近老是收到微信平台的通知信息,告知“原微信人脸核身接口将于2026年6月30日停止服务,逾期未切换将无法使用人脸核身功能。”,看了一下官网的文档,2.0的使用变得更复杂了,所以整理了一下需要使用到的接口和流程,文中代码仅展示核心逻辑和框架,需根据实际项目调整。 概览 2.0 接口共需要使用以下四个 阅读全文
posted @ 2026-05-24 12:40 咖啡八杯 阅读(63) 评论(0) 推荐(0)
摘要: 本文是【GoF设计模式】系列第5篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要原型模式? 有些场景下,创建一个对象不是简单的 new 就能搞定的——可能要查数据库、调接口、做复杂计算,初始化过程很重。更麻烦的是,有时需要创建大量相似对象,每个只有细微差别: // 场景:创建一个游戏角色,和已 阅读全文
posted @ 2026-05-19 22:31 咖啡八杯 阅读(11) 评论(0) 推荐(0)
摘要: 本文是【GoF设计模式】系列第4篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要建造者模式? 在 GoF设计模式——抽象工厂模式 中,抽象工厂解决了"一族产品要风格统一"的问题——一个工厂负责一整套产品,选了工厂就等于选了整套风格。 但不管是工厂方法还是抽象工厂,都只管"产出什么",不管"怎么 阅读全文
posted @ 2026-05-14 22:12 咖啡八杯 阅读(12) 评论(0) 推荐(0)
摘要: 本文是【GoF设计模式】系列第3篇,更多内容欢迎关注公众号:咖啡八杯 前言 为什么需要抽象工厂模式? 在 GoF设计模式——工厂方法模式 中,工厂方法模式解决了"新增产品不改老代码"的问题:将创建职责分散到多个具体工厂,每个工厂只管一种产品,新增产品时只需新增工厂类。 但工厂方法模式有一个隐藏缺陷: 阅读全文
posted @ 2026-05-12 09:47 咖啡八杯 阅读(7) 评论(0) 推荐(0)