Skip to content

设计模式 · 必学内容图

一、设计原则

SOLID(SRP/OCP/LSP/ISP/DIP)
组合优于继承、迪米特法则
设计坏味道与原则冲突时的工程判断

二、创建型

简单工厂 / 工厂方法 / 抽象工厂(工厂家族演进与选型)
单例(五种写法、DCL+volatile、枚举防反射、Spring 单例辨析)
建造者(多参数构建、链式 vs Director、Lombok @Builder)
原型模式(clone、深拷贝/浅拷贝、序列化拷贝)

三、结构型

代理(静态/JDK 动态/CGLIB、AOP)
装饰器(IO 流、与代理的意图辨析)
适配器(类/对象适配器、SLF4J、HandlerAdapter)
外观(子系统封装、与 BFF/网关同构)
桥接(两维度独立变化、JDBC Driver)
组合(树形结构、菜单/组织/文件系统)
享元(内部/外部状态、Integer 缓存、String 常量池)

四、行为型

策略(Map 路由、Spring 自动收集实现、与工厂搭配)
模板方法(骨架+钩子、JdbcTemplate)
观察者(推拉模型、Spring 事件、@TransactionalEventListener、到 MQ 的尺度演进)
责任链(纯链 vs 过滤器链、Servlet Filter/Netty Pipeline/Sentinel)
命令(请求对象化、排队/撤销/重放、Runnable)
状态(状态机、转移表、与策略辨析)
迭代器(Iterable/fail-fast/modCount)
中介者(Mediator,MQ/Controller 替代)
备忘录(Memento,撤销/快照)
访问者(Visitor,AST/双分派)

五、框架实证与工程落地

Spring 模式地图(BeanFactory/AOP/JdbcTemplate/事件/拦截器/HandlerAdapter)
MyBatis(Mapper 动态代理、Builder、Cache 装饰链)
JDK 实证(IO 装饰、Calendar 工厂、Integer 享元)
模式选型地图与反模式(过度设计)
重构:坏味道识别、小步重构、测试安全网、YAGNI

手撕 → 框架 → 生产化,一步步把 AI Agent 工程化搞透。
粤ICP备2026104257号-1