第1篇:泡茶和冲咖啡的代码为什么不能复用?

发布时间:2026/7/7 22:00:16
第1篇:泡茶和冲咖啡的代码为什么不能复用? 第1篇泡茶和冲咖啡的代码为什么不能复用摘要泡茶和冲咖啡的代码几乎一样却不能复用本文从生活场景切入揭示模板方法模式如何通过固定骨架、填充细节来消除重复代码并附上场景判断表帮你快速决策何时使用。​本文是《Java 23 种设计模式从踩坑到精通》模板方法模式长文的扩充短文第1篇帮助你碎片化掌握核心知识点。你有没有写过这样的代码泡茶烧水 → 泡茶叶 → 倒入茶杯 → 加柠檬冲咖啡烧水 → 冲咖啡粉 → 倒入咖啡杯 → 加糖和牛奶流程几乎一模一样只是“泡什么”和“加什么”不一样。如果分别写两个类烧水和倒杯的代码就要重复写两遍。更糟糕的是如果某天需求变了——比如必须用 80℃ 的水——你就得把所有类都改一遍。如果再增加“泡枸杞”、“冲可可”复制粘贴会让代码像滚雪球一样膨胀。模板方法模式正是为此而生它在父类中定义算法的骨架将某些步骤延迟到子类中实现。子类可以在不改变算法整体结构的前提下重新定义其中的某些步骤。你的场景该不该用模板方法判断标准是 → 用模板方法否 → 用其他方式多个类有完全相同的流程仅部分步骤不同✅❌需要控制流程的执行顺序防止子类篡改✅❌需要在父类中提供“钩子”让子类可选地干预流程✅❌需要动态替换整个算法而非仅修改部分步骤❌考虑策略模式一句话总结流程相同、细节不同 → 用模板方法模式避免复制粘贴。完整长文入口本文是模板方法模式扩充系列的第1篇。如果你想一次性阅读完整内容含UML、完整代码、框架应用、面试追问等请查看原长文 《Java 23 种设计模式从踩坑到精通 | 模板方法模式》系列导航返回扩充系列目录 订阅本专栏不错过每一篇下一篇模板方法模式核心好莱坞原则原系列总目录 订阅本专栏不错过每一篇