前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 设计模式之模板方法开发中应用

Java 设计模式之模板方法开发中应用

作者头像
用户5166556
发布2019-04-16 11:20:12
4180
发布2019-04-16 11:20:12
举报
文章被收录于专栏:让技术和时代并行

模板方法差不多是Java设计模式中除单例之外的另一种非常简单也是我们在写程序时非常常用的一种方法了。以至于当你看到模板方法的设计模式时你会感觉到,这不是我在程序中经常用到的方法么。

定义:定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类不可以改变一个算法的结构即可重定义该算法的某些特定步骤。

下面是我总结的模板方法中具体的代码实现通用框架

1:抽象的模板类:

代码语言:javascript
复制
package template;

public abstract class AbstractClass {
	
	protected abstract void method1();
	protected abstract void method2();
	
	public void templateedMethod(){
		
		this.method1();
		this.method2();
	}
}

2:具体的模板类:

代码语言:javascript
复制
package template;

public class ConcretClass extends AbstractClass{

	@Override
	protected void method1() {
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void method2() {
		// TODO Auto-generated method stub
		
	}

}
代码语言:javascript
复制
package template;

public class ConcretClass1 extends AbstractClass{

	@Override
	protected void method1() {
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void method2() {
		// TODO Auto-generated method stub
		
	}

}

3:场景类:

代码语言:javascript
复制
package template;

public class Client {
	public static void main(String[] args) {
		AbstractClass class1 = new ConcretClass();
		AbstractClass class2 = new ConcretClass1();
		class1.templateedMethod();
		class2.templateedMethod();
	}
}

模板方法具有以下优点:

1:提取公共部分代码易于维护。

2: 由父类控制,子类实现

3:封装不可变部分,扩展可变部分

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014年06月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档