大白话讲解23种设计模式简介

大白话讲解 23 种设计模式简介

设计模式(Design Pattern)代表了最佳实践 ,是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定 ,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。

创建型模式(5种)

关注对象怎么创建,把创建逻辑和使用逻辑分开。

编号 模式名 核心口诀 生活类比
01 单例 Singleton 全局唯一,入口唯一 全公司唯一的打印机
02 工厂方法 Factory Method 一个工厂产一种产品 不同奶茶店做奶茶(喜茶、蜜雪冰城)
03 抽象工厂 Abstract Factory 一个工厂产一整套 小米生态店/华为生态店
04 建造者 Builder 分步组装,复杂构建 点外卖自定义套餐,一步步选
05 原型 Prototype 基于模板,快速克隆 Word 模板另存为

结构型模式(7种)

关注类和对象怎么组合,形成更大的结构。

编号 模式名 核心口诀 生活类比
06 适配器 Adapter 接口转换,兼容新旧 USB-C 转接头
07 桥接 Bridge 抽象与实现分离,独立扩展 遥控器(抽象)控电视(实现)
08 组合 Composite 树形结构,统一接口 文件夹里放文件与文件夹
09 装饰器 Decorator 动态加功能,不改原类 奶茶加珍珠、加椰果
10 外观 Facade 统一入口,简化调用 一键回家模式
11 享元 Flyweight 共享状态,节省内存 五子棋中所有(黑棋/白棋)共享一个棋子对象
12 代理 Proxy 控制访问,间接访问 明星经纪人

行为型模式(11种)

关注对象和类怎么交互,如何分配职责。

编号 模式名 核心口诀 生活类比
13 责任链 Chain of Res. 链式处理,逐级传递 请假单一级级审批
14 命令 Command 请求封装,支持撤销 服务员记下单
15 迭代器 Iterator 统一遍历,隐藏内部 播放列表下一首
16 中介者 Mediator 集中通信,解耦双方 房产中介
17 备忘录 Memento 快照存档,恢复状态 游戏读档
18 观察者 Observer 发布订阅,自动通知 B 站关注 UP 主
19 状态 State 状态改变,行为改变 手机静音 / 正常模式
20 策略 Strategy 算法族封装,可互换 导航 APP 选路线
21 模板方法 Template 骨架固定,步骤可变 咖啡制作 SOP
22 访问者 Visitor 稳定结构,扩展操作 会计师查账
23 解释器 Interpreter 定义语法,解析表达式 自定义计算器

六大设计原则总结

原则 核心思想
单一职责 SRP 一个类只做一件事,功能别杂糅
开闭原则 OCP 能扩展新功能,不改原有老代码
里氏替换 LSP 子类能完全替代父类,不破坏逻辑
接口隔离 ISP 接口小而专,调用方不应该被迫依赖无关接口
依赖倒置 DIP 依赖抽象接口,不依赖具体实现类
迪米特法则 LoD 少跟陌生人打交道,降低类之间耦合

常用模式速记

创建对象用工厂,复杂构建找建造

功能增强找装饰,接口不配用适配

访问控制找代理,算法替换是策略

消息通知用观察,状态切换记状态

层层审批责任链,八句口诀记心间

相关推荐
心若自由何处是束缚4 小时前
适配器模式:从原理到实战的完整指南
设计模式·适配器模式
是2的10次方啊8 小时前
设计模式与生活⑮:看到哪儿了,得有个地方替你记着
设计模式
2601_9679791221 小时前
设计模式 - 访问者模式
设计模式·访问者模式·应用场景·对象结构·操作分离
是2的10次方啊1 天前
设计模式与生活⑭:一栋楼,共用一份热
设计模式
是2的10次方啊2 天前
设计模式与生活⑬:你坐几号线,谁来运营是另一回事
设计模式
Tt有了t3 天前
设计模式速查
java·python·设计模式
一条Go3 天前
四个进程,一把锁:Alioth 的告警评测为什么不需要消息队列
后端·设计模式·架构
一缕82年的清风3 天前
被中产唾弃的“十元快剪”,藏着最狠的极客工程学
人工智能·设计模式
是2的10次方啊3 天前
设计模式与生活⑫:周报又到手,别从空白开始
设计模式
拆房老料4 天前
DeepSeek Super-agent 架构解析:从单任务 Agent 到持续运行的任务系统
人工智能·设计模式·系统架构