JAVA设计模式(十八)设计模式之模板方法设计模式

前言

      本章讲解设计模式中模板方法模式的相关知识

方法

1.概念

在我们日常业务开发中,总会涉及到业务流程,而多个业务流程中开始和结尾的代码总是相同的,只有中间业务是不一样的。

如果按照传统的方式去开发的话,那么将会写很多冗余的业务代码。

如同我们去餐馆吃饭一样,首先都是点菜吃完了买单,那么中间吃些什么我们不得而知,这就涉及了具体的业务逻辑。

为了避免重复的编写代码,我们将采用模板方法设计模式。

2.模板方法设计模式的实现思路

1)创建相应的工程

2)编写模板类

package template;

/**
 * 去餐馆吃饭的抽象类
 * @author jwang
 *
 */
public abstract class EatTemplate {
	//吃饭前
	public void eatBefore(){
		System.out.println("我要点菜...");
	}
	//吃饭后
	public void eatAfter(){
		System.out.println("我要买单...");
	}
	
	//定义抽象方法吃饭,表示具体的业务逻辑,需要由子类实现
	public abstract void eating();
	
	//吃饭的业务流程
	public final void process(){
		eatBefore();
		eating();
		eatAfter();
	}
}

3)编写测试代码测试

package template;

public class Test {

	public static void main(String[] args) {
		EatTemplate eat1 = new EatTemplate() {
			@Override
			public void eating() {
				System.out.println("吃面条...");
			}
		};
		
		EatTemplate eat2 = new EatTemplate() {
			@Override
			public void eating() {
				System.out.println("吃满汉全席...");
			}
		};
		
		eat1.process();
		System.out.println("====================");
		eat2.process();
	}

}

程序执行结果如下:

由此可见,我们在核心的业务逻辑中编写什么代码,那么其前后的流程都是不变的,很好的实现了代码的重复利用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值