您好,欢迎访问一九零五行业门户网

Java实现模板方法(TemplateMethod)模式的方法详解

类图
/** * 业务流程模板,提供基本框架 * @author stone * */ public abstract class basetemplate { public abstract void part1(); public abstract void part2(); public abstract void part3(); //这里为了严格实验结果,使用final不可被重写 public final void usetemplatemethod() { part1(); part2(); part3(); } }
/** * 模板实现方式1 * @author stone * */ public class templatemethod extends basetemplate { @override public void part1() { system.out.println("模板方法1"); } @override public void part2() { system.out.println("模板方法2"); } @override public void part3() { system.out.println("模板方法3"); } }
/** * 模板实现方式2 * @author stone * */ public class templatemethod2 extends basetemplate { @override public void part1() { system.out.println("模板方法11"); } @override public void part2() { system.out.println("模板方法22"); } @override public void part3() { system.out.println("模板方法33"); } }
/** * 模板方法(templatemethod)模式:行为型模式,定义了一系列操作的骨架,将模块的实现 延迟到实现类或者子类中实现。 * 跟建造者模式的区别: * 建造者模式,使用组合方式,由指挥者director指挥组合的builder建造,建造流程由director控制,建造的模块方法由builder实现 * 模板方法模式,由模板定义操作流程,由子类或实现类 实现具体的模块方法 * 综上,建造者模式灵活于模板方法模式 * @author stone * */ public class test { public static void main(string[] args) { basetemplate tm = new templatemethod(); tm.usetemplatemethod(); system.out.println(""); basetemplate tm2 = new templatemethod2(); tm2.usetemplatemethod(); } }
打印
模板方法1 模板方法2 模板方法3 模板方法11 模板方法22 模板方法33
以上就是java实现模板方法(templatemethod)模式的方法详解的详细内容。
其它类似信息

推荐信息