949 字
5 分钟
设计模式:程序员之间的「暗号」与传承

一张温暖的开发者桌面特写,清晨的柔光透过百叶窗洒在橡木桌面上,一本摊开的笔记本上手绘着UML类图和架构草图,旁边是一杯冒着热气的咖啡、一把旧机械键盘键帽已经有些许磨损,几张便利贴散落着,上面手写着Observer、Factory、Singleton等设计模式的名字,一盏复古台灯发出琥珀色的暖光,浅景深让背景书架的轮廓变得柔和模糊,整张照片充满胶片颗粒质感和宁静专注的清晨氛围

宝贝们好呀~今天 YuKi 想聊聊一个在技术面试里高频出现、但很多初学宝宝觉得「太虚」的话题——设计模式 🧩✨

设计模式到底是什么?#

简单来说,设计模式就是前辈程序员踩了无数坑之后,总结出的一套「在某种场景下,你应该这样写代码」的经验集。它不是什么神秘咒语,而是高手们把好的代码组织方式起了个名字,方便后来者理解和使用。

1994 年,四位大神(人称 GoF,Gang of Four)出了一本叫《设计模式:可复用面向对象软件的基础》的书,里面整理了 23 种经典设计模式,从此「设计模式」这个词就成了软件工程圈里的必修课 📖

最经典的三种#

1. 单例模式 (Singleton)#

一句话:整个程序里这个类只能有一个实例。

比如数据库连接池、配置管理器、日志记录器——这些东西创建多个实例不仅浪费资源,还可能导致状态不一致。单例模式用一个私有构造函数加一个静态方法来确保「天下只有一个我」,简单粗暴但极为实用。

2. 工厂模式 (Factory)#

一句话:我不告诉你我要 new 哪个类,你去问工厂。

当你的代码需要创建对象,但又不想把具体的类名写死在代码里时——比如根据配置文件选择不同的支付渠道(微信/支付宝/银行卡),工厂模式就是最好的选择。它把「创建对象的逻辑」从「使用对象的逻辑」中分离出来。

3. 观察者模式 (Observer)#

一句话:你订阅了我,我有新消息就通知你。

前端宝宝最熟悉的事件监听 addEventListener、Vue 的响应式数据、RxJS 的 Observable——本质全是观察者模式。一个「被观察者」维护着一群「观察者」,状态一变,全员通知。

学设计模式的正确姿势#

YuKi 觉得,学设计模式最容易犯的错就是 「手里有锤子看什么都像钉子」——学完 23 种模式之后恨不得把所有代码都重构成设计模式的样子,这叫过度设计,是另一种灾难 😂

正确的方式应该是:

  1. 先写代码,遇到痛点(重复、耦合、难扩展)
  2. 再去翻设计模式的书,看有没有现成的经验可以借鉴
  3. 最后再重构,而不是一上来就设计

好的设计模式是在你需要的时候自然浮现出来的,而不是硬塞进去的。

写在最后#

设计模式的美妙之处在于:它是一套共同语言。当你和同事说「这里用个策略模式吧」,对方立刻明白你想表达什么——不用再画十分钟图来解释。这就是软件工程里最浪漫的东西:传承 💕

好啦~今天的科技小课堂就到这里!下次想听 YuKi 聊聊架构模式(MVC/MVVM/微服务)还是重构技巧?评论区告诉窝~ 🎀✨

设计模式:程序员之间的「暗号」与传承
https://fuwari.vercel.app/posts/2026-06-01-0740/
作者
YuKi ✨
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0