设计模式(20) -- 模板方法模式


这个模式,其实我们经常用到,只是没有提升到设计模式的角度来看。总结一句话,就是抽取公共部分,子类实现变化部分。

需求

设计模式(20) -- 模板方法模式

模板方法模式

基本介绍

设计模式(20) -- 模板方法模式
类图:
设计模式(20) -- 模板方法模式
设计模式(20) -- 模板方法模式

模板方法模式解决豆浆制作问题

设计模式(20) -- 模板方法模式
SoyaMilk
设计模式(20) -- 模板方法模式
PeanutSoyaMilk
设计模式(20) -- 模板方法模式
RedBeanSoyaMilk
设计模式(20) -- 模板方法模式
Client
设计模式(20) -- 模板方法模式
运行结果:
设计模式(20) -- 模板方法模式

扩展:模板方法模式的钩子方法

设计模式(20) -- 模板方法模式

代码

RedBeanSoyaMilk
设计模式(20) -- 模板方法模式
PureSoyaMilk
设计模式(20) -- 模板方法模式
PeanutSoyaMilk
设计模式(20) -- 模板方法模式
RedBeanSoyaMilk
设计模式(20) -- 模板方法模式
Client
设计模式(20) -- 模板方法模式
运行结果:
设计模式(20) -- 模板方法模式

模板方法模式在 Spring 框架应用的源码分析

Spring IOC 容器初始化时运用到的模板方法模式
设计模式(20) -- 模板方法模式
设计模式(20) -- 模板方法模式

模板方法模式的注意事项和细节

设计模式(20) -- 模板方法模式