首页 > 代码库 > 设计模式之(Template Method)模版方法模式

设计模式之(Template Method)模版方法模式

1. 需求:

设计一个水果榨汁机程序,该程序可以完成橘子、苹果等水果的榨汁,而且该水果榨汁机还可以完成水果削皮和去核。

2. 分析:

不同水果的榨汁流程是一样的,都是先把水果准备好,然后搅碎,然后再把汁液漏出。但是不同水果的准备过程不一样,橘子只需要剥皮,而苹果需要先削皮,然后去核。所以我们可以将不同水果的准备过程封隔离开来,将榨汁流程封装在一起。

3. 类图:

image

4. 总结:

Template method模式类似于Strategy模式,都是用于封装固定的流程,将单一步骤的细小差异隔离。不同的是Template method采用的继承,所以没有Strategy灵活,但是执行效率比Strategy高。

设计模式之(Template Method)模版方法模式