设计模式之模版设计模式

A:模版设计模式概述
    * 模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现
* B:优点和缺点
    * a:优点
        * 使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求
    * b:缺点
        * 如果算法骨架有修改的话,则需要修改抽象类 

如下这个案例,我想要定义一个模板计算开始到结束的时间差,但是我不知道要计算什么东西,这时就可以定义一个抽象类,把执行的过程写好,让子类重写过程方法,这样就不用修改骨架代码,需要计算什么写个实现类去实现就可以了.

package com.heima.模版方法设计模式;

public class Demo1_Template {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		/*long start = System.currentTimeMillis();
		for(int i = 0; i < 1000000; i++) {
			System.out.println("x");
		}
		long end = System.currentTimeMillis();
		System.out.println(end - start);*/
		Demo d = new Demo();
		System.out.println(d.getTime());
	}

}

abstract class GetTime {
	public final long getTime() {
		long start = System.currentTimeMillis();
		code();
		long end = System.currentTimeMillis();
		return end - start;
	}

	public abstract void code();
}

class Demo extends GetTime {

	@Override
	public void code() {
		int i = 0;
		while(i < 100000) {
			System.out.println("x");
			i++;
		}
	}
}

猜你喜欢

转载自blog.csdn.net/kxj19980524/article/details/86564909