Java学习之模板方法设计模式

(1) 模版方法定义:
  在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分,
  那么这时就将不确定的部分暴露出去。由该类的子类去完成。

(2) 示例代码:

 1 //获取某方法的执行时间
 2 abstract class GetTime
 3 {
 4     public final void getTime()
 5     {
 6         long start = System.currentTimeMillis();
 7
 8         runcode();
 9
10         long end = System.currentTimeMillis();
11
12         System.out.println("毫秒:"+(end-start));
13     }
14     public abstract void runcode();
15
16 }
17
18 //具体方法实现
19 class SubTime extends GetTime
20 {
21
22     public void runcode()
23     {
24
25         for(int x=0; x<4000; x++)
26         {
27             System.out.print(x);
28         }
29     }
30 }
31
32 //主函数
33 class  TemplateDemo
34 {
35     public static void main(String[] args)
36     {
37         //GetTime gt = new GetTime();
38         SubTime gt = new SubTime();
39         gt.getTime();
40     }
41 }
时间: 2024-10-14 06:57:05

Java学习之模板方法设计模式的相关文章

Java学习之DAO设计模式

DAO设计模式是一个javaEE里的设计模式,DAO是Data Access Object 数据访问接口. 一个典型的DAO实现有三个组件: 1.一个DAO接口 2.一个DAO接口的具体类: 3.数据传递对象(DTO)或者叫值对象(VO)或者叫领域模型(domain)[个人认为就是数据库表里对应的java对象类] 举个例子: 首先在数据库建一个表Person有四个字段id(pk),name,age,desc(描述): 然后建立domain 1 package com.gh.domain; 2 3

JAVA学习笔记--策略设计模式与适配器模式

一.策略设计模式 创建一个能够根据所传递对象的不同而具有不同行为的方法被称为策略设计模式:这类方法包含所要执行的算法中固定不变的部分,而"策略"包含变化的部分.策略就是传递进去的参数对象,它包含要执行的代码. 这种设计模式将算法分别独立封装起来,然后将其当做参数传递给方法从而让方法产生不同的行为,不同的算法可以进行替换(就像给方法不同的实参).我们可以知道,在策略设计模式中有三个部分:策略.策略引用.接收策略引用的方法(这是笔者自己根据理解给出的名词,并没有查询有没有这些术语).下面通

设计模式学习之---模板方法设计模式

在我们的日常生活中,模板方法是应用的很广的,我们身边有很多模板方法的身影,举个很高大上的例子就是我们的奥运会的开幕仪式:奥委会对于不同国家举办奥运会开幕式提供的步骤都是一样的: 1.升国旗,奏国歌 2.奥委会人发言 3.文艺汇演 4.奥运运动员入场仪式 5.点燃火炬 但是,对于不同的国家,他们的内容肯定是不一样的,这就是一种模板方法.那么,我们在java的实现中,应该是怎么进行表现呢? 这里再用一个例子来演示,我们的饮料机,一个饮料机可以制作咖啡和茶: 那么我们先定义一个制作饮料的抽象基类: p

11、java中的模板方法设计模式

/* 需求:获取一段程序运行的时间. 原理:获取程序开始和结束的时间并相减即可. 获取时间:System.currentTimeMillis(); 当代码完成优化后,就可以解决这类问题. 这种方式,模版方法设计模式. 什么是模版方法呢? 在定义功能时,功能的一部分是确定的,但是有一部分是不确定,而确定的部分在使用不确定的部分, 那么这时就将不确定的部分暴露出去.由该类的子类去完成. */ abstract class GetTime { public final void getTime() {

Java抽象类深入理解-----模板方法设计模式(Templete Method)

模板方法设计模式(Templete Method) 定义一个操作中的算法骨架,而将一些可变部分的实现延迟到子类中. 模板方法设计模式使得子类可以不改变一个算法的结构即可重新定义该算法某些特定的步骤. 1 import java.util.Random; 2 3 public class AbstractTest002 { 4 public static void main(String[] args) { 5 JudgeMent jm = new JudgeMent(); 6 jm.action

《Head First 设计模式》学习笔记——模板方法模式

模板方法模式是类的行为模式.准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现.这就是模板方法模式的用意. 设计模式 模板方法模式:在一个方法中定义一个算法的框架,而将一些步骤延迟到子类中.模板方法使得子类可以在不改变算法结果的情况下,重新定义算法中的某些步骤. 模板就是一个方法,这个方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,由子类负责实现.这样可以确

设计模式学习之模板方法模式(TemplateMethod,行为型模式)(9)

一.什么是模板方法模式 Template Method模式也叫模板方法模式,是行为模式之一,它把具有特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为. 二.模板方法模式的应用场景 Template Method模式一般应用在具有以下条件的应用中: - 具有统一的操作步骤或操作过程 - 具有不同的操作细节 - 存在多个具有同样操作步骤的应用场景,但某些具体的操作细节却各不相同 private static void Main(string[] arg

二、Java面向对象(15)_模板方法设计模式

2018-05-06 模板方法设计模式 在父类的一个方法中定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,因为不同子类的实现细节不同.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 抽象父类:定义操作中的业务骨架,而将这些步骤延迟到子类中. 抽象父类至少提供两种方法: 1)模板方法:一种通用的处理方式,即模板(总体算法的骨架). 2)抽象方法:一个具体的业务功能实现,由子类完成. 参考:https://www.cnblogs.com/liaoweipeng/p/5

大话设计模式--&gt;模板方法设计模式

在学习java的过程中,我们肯定听到过设计模式这名词,在行业中有这么一句话,若您能熟练的掌握23种设计模式,那么你便是大牛! 好了,废话不多说,今天我跟大家分享一下23种设计模式之一的  模板方法 设计模式 首先我们要知道什么是模板方法设计模式? 模板方法设计模式就是定义一个操作中的算法骨架,而将一些实现步骤延迟到子类当中.模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤. 为什么要使用模板方法设计模式? 模板方法模式是比较简单的一种设计模式,但是它却是代码复用的一项基本的