黑马程序员技术交流社区

标题: Java模板方法设计模式 [打印本页]

作者: heshiwei    时间: 2015-10-11 14:17
标题: Java模板方法设计模式

   模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。模板方法模式需要开发抽象类和具体子类的设计师之间的协作。一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法(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);
        }
}


作者: 斑点狗    时间: 2015-10-11 16:53
不错,学习啦!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2