博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 实现模板方法(TemplateMethod)模式
阅读量:6007 次
发布时间:2019-06-20

本文共 1336 字,大约阅读时间需要 4 分钟。

类图

/** * 业务流程模板。提供基本框架 * @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
你可能感兴趣的文章
推荐系统中常用算法 以及优点缺点对比
查看>>
cocos2d-x v3.2环境配置(现在3.x版本号可以配置该)
查看>>
Go语言标准库之JSON编解码
查看>>
linux上架设l2tp+ipsec ***服务器
查看>>
node.js中使用http模块创建服务器和客户端
查看>>
面向对象编程-何为对象
查看>>
2015 多校联赛 ——HDU5334(构造)
查看>>
mysql字符集
查看>>
DP_1d1d诗人小G
查看>>
非、半、结构化数据学习【转载】
查看>>
avalon加载一闪而过现象
查看>>
Python学习第二天-编写购物车
查看>>
BigTable——针对结构型数据的一种分布式存储系统
查看>>
python调用c/c++写的dll
查看>>
r语言ggplot2误差棒图快速指南
查看>>
python之处理异常
查看>>
遍历form表单里面的表单元素,取其value
查看>>
面试110道题
查看>>
python 08 文件操作
查看>>
强势解决:windows 不能在本地计算机中起动Tomcat参考特定错误代码1
查看>>