A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© heshiwei 高级黑马   /  2015-10-11 14:17  /  243 人查看  /  1 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文


   模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(primitive method);而将这些基本方法汇总起来的方法叫做模板方法(template method),这个设计模式的名字就是从此而来。

  模板方法所代表的行为称为顶级行为,其逻辑称为顶级逻辑。模板方法模式的静态结构图如下所示:

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

        //运行代码
        public abstract void runCode();
}

/*
* 这是一个继承自GetTime的类SubGetTime
* */
class SubGetTime extends GetTime{
       
        @Override
        public void runCode() {
               
                String str = null;
               
                for (int i = 0; i < 1000; i++){
                        System.out.print(str);
                }
        }
}

class Model{
        public static void main(String [] args){
               
                SubGetTime sub = new SubGetTime();
                long res = sub.getTime();
                System.out.println(res);
        }
}

1 个回复

倒序浏览
不错,学习啦!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马