首页 > 其他 > 详细

模板方法模式

时间:2021-03-14 23:49:37      阅读:27      评论:0      收藏:0      [点我收藏+]

模板模式

? 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。

应用场景

? 使用程序计算一段代码的运行时间,一般步骤为:记录程序的开始时间,运行指定代码,记录程序的结束时间,结束时间-开始时间得到运行时间。无论是什么代码,要获得运行时间都需要这么做,此时就可以使用模板方法模式来减少代码量。

abstract class GetTime {
    public void template() {
        System.out.println("开始");
        long start = System.currentTimeMillis();
        code();
        long end = System.currentTimeMillis();
        System.out.println("结束: " + (end - start));
    }

    public abstract void code();
}

class A extends GetTime {

    @Override
    public void code() {
        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < 100; i++) {
            list.add(i);
        }
    }
}

class B extends GetTime {

    @Override
    public void code() {
        LinkedList<Integer> list = new LinkedList<>();
        for (int i = 0; i < 100; i++) {
            list.add(i);
        }
    }
}

public class ModelPattern {
    public static void main(String[] args) {
        GetTime a = new A();
        GetTime b = new B();
        a.template();
        b.template();
    }
}

模板方法模式

原文:https://www.cnblogs.com/nuoxin/p/14534099.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!