设计模式之模板方法

/*模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的
 * 结构即可重新定义该算法的某些特定步骤.
 * 
 * 我的个人理解就是把一些共同的行为搬到父类,把一些可变的不一样的留到子类中去实现.
 * 
 * 注:模板方法是通过巴布遍的行为搬移到超类,去除子类中的重复代码来体现他的优势.
 * 模板方法就是提供了一个很好的代码复用的平台.
 * 当不变的和可变的行为在方法的子类实现中混合在一起时候,不变的行为就会在子类中重复出现,我们通过模板方法把这些行为
 * 搬移到单一的地方,这样就帮助子类摆脱重复的不变行为的纠缠.
 * 

 * */

package com.zwy;

public class TemplateMethod {

	/**
	 * main(这里用一句话描述这个方法的作用)
	 * (这里描述这个方法适用条件 – 可选)
	 * @param args
	 *void
	 * @exception
	 * @since  1.0.0
	 */
	public static void main(String[] args) {
		BaseTemplate base = new ConcretateTemplate();
		base.run();
	}

}


class BaseTemplate {
	public void run1(){
		System.out.println(this.getClass().getName() +"执行run1");
	};
	
	public void run2(){
		System.out.println(this.getClass().getName() + "执行run2");
	}
	public void run(){
		System.out.println("开始执行模板开头");
		this.run1();
		System.out.println("模板执行一般了");
		this.run2();
		System.out.println("模板执行结束了");
	}
}
class ConcretateTemplate extends BaseTemplate {
	public void run1(){
		System.out.println("ConcretateTemplate" +"执行run1");
	};
	
	public void run2(){
		System.out.println("ConcretateTemplate" + "执行run2");
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值