首页 > 代码库 > 编程模式之模板方法模式(Template Method)
编程模式之模板方法模式(Template Method)
模板方法模式由两个角色组成:父类角色,子类角色。
父类角色:提供模板。
子类角色:为父类模板提供实现。
类图:
JAVA代码:
AbstractClass.java
package com.templatemethod; public abstract class AbstractClass { /** * 定义了算法的骨架,即步骤 */ public void template() { this.method1(); this.method2(); this.method3(); } /** * 子类可以重写这些方法 */ public abstract void method1(); public abstract void method2(); public abstract void method3(); }
ConcreteClass.java
package com.templatemethod; public class ConcreteClass extends AbstractClass { @Override public void method1() { System.out.println("Step 1"); } @Override public void method2() { System.out.println("Step 2"); } @Override public void method3() { System.out.println("Step 3"); } }
Test.java
package com.templatemethod; public class Test { public static void main(String[] args) { AbstractClass ac = new ConcreteClass(); ac.template(); } }
总结:模板方法模式,定义一个操作中的算法骨架,而将一些步骤延迟到子类中去实现,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而每个步骤的实现可以在子类中完成。
编程模式之模板方法模式(Template Method)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。