主题
设计模式 · 必学内容图
一、设计原则
二、创建型
简单工厂 / 工厂方法 / 抽象工厂(工厂家族演进与选型)
单例(五种写法、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 替代)
访问者(Visitor,AST/双分派)
五、框架实证与工程落地
Spring 模式地图(BeanFactory/AOP/JdbcTemplate/事件/拦截器/HandlerAdapter)
MyBatis(Mapper 动态代理、Builder、Cache 装饰链)
JDK 实证(IO 装饰、Calendar 工厂、Integer 享元)
重构:坏味道识别、小步重构、测试安全网、YAGNI