
第2篇策略模式三大角色拆解与UML摘要策略模式由抽象策略、具体策略、上下文三个角色组成。本文通过UML类图和图文解析帮你快速建立策略模式的结构认知。本文是《Java 23 种设计模式从踩坑到精通》策略模式长文的扩充短文第2篇帮助你碎片化掌握核心知识点。策略模式的核心角色只有三个理解它们就掌握了模式的骨架。1. 抽象策略Strategy定义所有算法的公共接口通常只有一个方法如calculate()或algorithm()。2. 具体策略ConcreteStrategy实现具体的算法每个策略类封装一种独立的算法变体。3. 上下文Context持有策略对象的引用负责调用策略算法。上下文不关心具体是哪个策略只需知道如何触发计算。核心机制策略模式把“如何做”从“谁要做”中分离出来。上下文对象只知道“我要执行一个算法”但不知道具体是哪个算法。具体算法由客户端在运行时注入。你的场景该不该画UML判断标准是 → 先画UML否 → 直接编码团队需要统一沟通设计✅❌模式结构复杂容易混淆✅❌个人快速验证想法❌直接编码更快一句话总结UML是设计模式的通用语言学会看图能加速你对模式的理解。完整长文入口本文是策略模式扩充系列的第2篇。如果你想一次性阅读完整内容含UML、完整代码、框架应用、面试追问等请查看原长文 《Java 23 种设计模式从踩坑到精通 | 策略模式》 系列导航上一篇第1篇从“促销活动”的一堆 if-else 说起下一篇第3篇手写促销策略引擎满减、打折、立减返回扩充系列目录 订阅本专栏不错过每一篇原系列总目录 订阅本专栏不错过每一篇