• java 设计模式之模板方法


    java 中的模板模式:

      理解:在定义功能时,功能的一部分是确定的,但是有另一部分不确定,而确定的部分中在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成。

      也即是在一个类中的某个方法中,部分确定,并且该方法包括不确定的方法,也就是抽象方法,随之该类为抽象类,继承该抽象方法即可实现该不确定的方法。

      

      用意:模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。是基于继承的代码复用的基本技术。

      模板方法所代表的行为称为顶级行为,其逻辑称为顶级逻辑。

      

     1 /*
     2 需求:获取一段程序运行的时间。
     3 原理:获取程序开始和结束的时间并相减即可。
     4 
     5 获取时间:System.currentTimeMillis();
     6 
     7 当代码完成优化后,就可以解决这类问题。
     8 
     9 这种方式,模版方法设计模式。
    10 
    11 什么是模版方法呢?
    12 在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,
    13 那么这时就将不确定的部分暴露出去。由该类的子类去完成。
    14 
    15 
    16 */
    abstract class GetTime
    {
        public final void getTime()
        {
            long start = System.currentTimeMillis();
    
            runcode();
    
            long end = System.currentTimeMillis();
    
            System.out.println("毫秒:"+(end-start));
        }
        public abstract void runcode();
    
    }
    
    
    class SubTime extends GetTime
    {
    
        public void runcode()
        {
            
            for(int x=0; x<4000; x++)
            {
                System.out.print(x);
            }
        }
    }
    
    
    class  TemplateDemo
    {
        public static void main(String[] args) 
        {
            //GetTime gt = new GetTime();
            SubTime gt = new SubTime();
            gt.getTime();
        }
    }

    参考地址:http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html

  • 相关阅读:
    总结:使用pll来进行“异步复位,同步释放”
    总结“异步复位,同步释放”
    用quartusII再带的modelsim进行后仿真(时序仿真)的操作步骤
    Notepad++新建文件默认保存格式修改问题
    英语翻译正确的思维
    浅谈web网站架构演变过程
    MVC-API(二)
    C#面向对象编程的基础
    C# 堆栈讲解
    AutoCAD 2013 之R14版本下载地址整理汇总
  • 原文地址:https://www.cnblogs.com/itcqx/p/5590851.html
Copyright © 2020-2023  润新知