大白话讲解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 少跟陌生人打交道,降低类之间耦合

常用模式速记

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

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

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

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

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

相关推荐
蜜獾云1 小时前
设计模式之代理模式:本地接口代理远程接口的调用
设计模式·系统安全·代理模式
蜜獾云1 小时前
设计模式之访问者模式:动态的给目标对象增加新功能
设计模式·访问者模式
蜜獾云3 小时前
设计模式之策略模式:替换掉糟糕的if else语句实现面向对象编程而非面向过程
设计模式·策略模式
蜜獾云4 小时前
设计模式之状态模式:封装数据的状态流转逻辑
设计模式·状态模式
Serene_Dream4 小时前
深度解析设计模式:单例模式(Singleton Pattern)
单例模式·设计模式
朱一头zcy4 小时前
设计模式入门:最简单的单例模式
笔记·单例模式·设计模式
kuntli4 小时前
23种设计模式全解析
设计模式
海特伟业19 小时前
隧道调频广播覆盖-隧道调频广播无线覆盖系统建设要点、难点分析与解决应对
运维·设计模式