设计模式之模板方法模式!
设计模式之模板方法模式!
月伴飞鱼定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。
Template Method
使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。
- 它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。
简单来说,有多个子类共有的方法,且逻辑相同,可以考虑作为模板方法。
模板模式的关键是:
- 子类可以置换掉父类的可变部分,但是子类却不可以改变模板方法所代表的顶级逻辑。
UML类图:
抽象模板角色类:
1 | public abstract class AbstractTemplate { |
具体模板角色类:
1 | public class ConcreteTemplate extends AbstractTemplate{ |