Skip to content

设计模式知识体系总览

设计模式是软件工程的「武功心法」——不只是背 23 种模式,而是理解为什么要用什么场景用在哪里用过。面试官最期待的回答是:「这个模式在 Spring 的 XXX 里有应用,原因是…」


第1阶段 设计原则 → SOLID、迪米特
第2阶段 创建型模式 → 单例、工厂
第3阶段 结构型模式 → 代理、装饰器
第4阶段 行为型模式 → 策略、观察者
设计模式
┌───────────┬─────────────┴─────────────┐
▼ ▼ ▼ ▼
设计原则 创建型 结构型 行为型
│ │ │ │
• SOLID • 单例 • 代理 • 策略
• 单一职责 • 工厂 • 装饰器 • 观察者
• 开闭原则 • 建造者 • 适配器 • 模板方法
• 里氏替换 • 原型 • 外观 • 责任链
专题考察频率难度核心能力
设计原则★★★★☆原则理解
创建型★★★★★单例工厂
结构型★★★★☆代理装饰
行为型★★★★☆策略观察

📐 六大设计原则

高频 ⭐⭐⭐⭐

覆盖:SOLID 原则(单一职责/开闭/里氏替换/接口隔离/依赖倒置)+ 迪米特法则,理解原则背后的思想。

进入专题 →

🏭 创建型模式

高频 ⭐⭐⭐⭐⭐

覆盖:单例(8种写法)、工厂方法、抽象工厂、建造者、原型,及其在 Spring 中的体现。

进入专题 →

🔧 结构型模式

高频 ⭐⭐⭐⭐

覆盖:代理(JDK/CGLIB)、装饰器、适配器、外观、桥接、组合、享元,及其在 JDK/Spring 中的应用。

进入专题 →

🎭 行为型模式

高频 ⭐⭐⭐⭐

覆盖:策略、观察者、模板方法、责任链、命令、迭代器、状态,及其在 Spring/JDK 中的应用。

进入专题 →


模式频率常问考点
单例模式⭐⭐⭐⭐⭐DCL 双检锁、volatile 为什么必须、枚举单例
工厂模式⭐⭐⭐⭐⭐简单工厂 vs 工厂方法 vs 抽象工厂区别
代理模式⭐⭐⭐⭐⭐JDK 动态代理 vs CGLIB,Spring AOP 用的哪种
策略模式⭐⭐⭐⭐消除 if-else,结合 Spring Bean 注入策略
观察者模式⭐⭐⭐⭐Spring 事件机制、MQ 是不是观察者模式
模板方法⭐⭐⭐⭐JdbcTemplate、AbstractXxx 抽象类
装饰器模式⭐⭐⭐Java IO 流的设计
责任链模式⭐⭐⭐⭐Spring Filter/Interceptor、Sentinel 插槽链
建造者模式⭐⭐⭐Lombok @Builder、MyBatis SqlSession 构建