`

JFreeChart中应用Template模式

阅读更多

今天在看Spring对JDBC的封装,其中提到了JDBCTemplate,所以想起了Template模式,这个模式,以前看过,但是没有有过,并且已经是老长时间以前的事了,大部分已经忘了。在网上收了一下,找了篇Jdon上关于Template模式的文章,重温了一下这个模式。

Template模板模式定义:
定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.

使用Java的抽象类时,就经常会使用到Template模式,因此Template模式使用很普遍.而且很容易理解和使用。

public abstract class Benchmark
{
  /**
  * 下面操作是我们希望在子类中完成
  */
  public abstract void benchmark(); 

  /**
  * 重复执行benchmark次数
  */
  public final long repeat (int count) {
    if (count <= 0)
      return 0;
    else {
      long startTime = System.currentTimeMillis();

    for (int i = 0; i < count; i++) 
      benchmark();

    long stopTime = System.currentTimeMillis();
    return stopTime - startTime;
  }
}
}


 

在上例中,我们希望重复执行benchmark()操作,但是对benchmark()的具体内容没有说明,而是延迟到其子类中描述:

 

public class MethodBenchmark extends Benchmark
{
  /**
  * 真正定义benchmark内容
  */
  public void benchmark() {

    for (int i = 0; i < Integer.MAX_VALUE; i++){
      System.out.printtln("i="+i);    
    }
  }
}


 

至此,Template模式已经完成,是不是很简单?

我们称repeat方法为模板方法, 它其中的benchmark()实现被延迟到子类MethodBenchmark中实现了,

看看如何使用:

Benchmark operation = new MethodBenchmark();
long duration = operation.repeat(Integer.parseInt(args[0].trim()));
System.out.println("The operation took " + duration + " milliseconds");

 在使用JFreeChart中,产生chart的步骤是固定的,而数据集和产生的chart对象是不确定的,因此可以使用Template简化Chart的创建过程.

 

分享到:
评论

相关推荐

    JFreeChart示例 JAVA_JFreeChart的应用 JFreeChart 教程

    对于桌面应用,需要将`jfreechart-0.9.21.jar`、`jcommon-0.9.6.jar`和`gnujaxp.jar`拷贝到`%JAVA_HOME%\LIB`目录,并在环境变量`CLASSPATH`中添加这些库的路径。而对于Web应用,如基于Tomcat的项目,应将这三个库...

    JFreeChart 在 web中的应用

    JFreeChart 在 web中的应用JFreeChart 在 web中的应用JFreeChart 在 web中的应用JFreeChart 在 web中的应用JFreeChart 在 web中的应用

    jfreechart中文学习文档

    这款工具非常适合在各种 Java 应用程序、Applet 和 Servlet 中使用,提供了一种高效的方式来生成高质量的图表。由于其开源性质,JFreeChart 成为了许多开发者和企业的首选图表生成解决方案。 **1.1.2 特点** - **...

    JfreeChart中文教程+中文API

    3. **实战篇**:提供实际案例,指导如何在Swing应用、Web应用中集成JFreeChart,以及如何使用XML保存和加载图表配置。 通过学习《JFreeChart中文教程》和查阅中文API,开发者能够熟练掌握JFreeChart的使用,提升...

    JFreeChart API 中文文档

    - **数据支持**:JFreeChart 可以接受各种数据源,如数组、列表、数据库查询结果等,方便地与Java应用中的数据结构集成。 - **交互性**:支持鼠标点击、拖动等交互操作,如选择区域、显示提示信息等。 - **多平台...

    JfreeChart中文帮助文档

    这个库广泛应用于各种Java应用程序中,包括Web应用、桌面应用以及数据分析和报告系统。JfreeChart的中文帮助文档为开发者提供了详细的指南,帮助他们更好地理解和使用这个库。 **1. JfreeChart的基本概念** - **...

    JFreeChart中文API详解

    这个压缩包里面有三个...JFreeChart+API一览.doc JFreeChart中文API(1).mht JFreeChart中文文档.htm 内容差不多,都提供出来方便大家看 主要是介绍了每个API的方法都是用来做什么用得,解释是中文的感觉还是比较有用的.

    Jfreechart中文示例(含注解说明,个人认为是比较全面的示例了)

    示例中可能展示了如何将图表嵌入到Java应用中,以及如何导出为图片或PDF。 ### 八、实时更新图表 在某些应用中,图表需要根据动态数据实时更新。JFreeChart提供了刷新和重绘机制,使图表能实时反映数据变化。示例...

    jfreechart简单应用实例

    在提供的 "baobiao" 压缩包中,可能包含了一些示例代码或预生成的图表图像,这有助于你进一步了解 JFreeChart 的实际应用。建议解压并研究这些文件,以加深对 JFreeChart 使用的理解。同时,查阅 JFreeChart 的官方...

    JFreeChart JSP应用例子

    在"JFreeChart JSP应用例子"中,我们将深入探讨如何在JSP页面上利用JFreeChart库创建并展示柱状图。 首先,我们需要理解JSP(JavaServer Pages)是一种动态网页技术,允许开发者在HTML中嵌入Java代码,从而生成动态...

    JFreeChart在JSP中的应用实例

    ### JFreeChart在JSP中的应用实例 #### 一、JFreeChart简介 JFreeChart是一款功能强大且灵活的开源Java图表库,它为开发者提供了丰富的API来创建各种类型的图表,如折线图、柱状图、饼图等。由于其良好的可定制性...

    jfreechart中文乱码问题解决方案

    在使用JFreeChart库生成图表时,可能会遇到中文乱码的问题,这主要是因为JFreeChart默认的字体不支持中文显示。解决这个问题的关键在于为图表的各个部分(如标题、轴标签、图例等)设置合适的中文支持字体。下面将...

    jfreechart中文简单说明

    JFreeChart 是一个开源的 Java 图形库,用于创建高质量的图表,如饼图、柱状图、线图、散点图等。它提供了一系列丰富的API,使得开发者能够轻松...JFreeChart的强大功能使得它成为Java开发中绘制复杂图表的首选库之一。

    JFreeChart中文API解释

    JFreeChart是一款强大的Java图表库,支持多种图表类型,包括柱状图、折线图、饼图等,并且提供了丰富的自定义选项来满足不同应用场景的需求。 ### JFreeChart中文API解释 #### 1. Chart类中的方法 - **`void ...

    jfreechart中文文档和jar包

    这部分内容可能涉及到如何将JFreeChart集成到Web应用程序中,比如使用Servlet或JSP来生成图表,并在网页上显示。这通常需要理解HTTP响应、图片流的概念,以及如何将JFreeChart生成的BufferedImage对象转换为可以在...

    jfreechart 中文指导

    在实际应用中,JFreeChart可以用于数据报告、监控系统、数据分析等多种场合。例如,你可以使用它来创建一个饼图展示公司的销售分布,或者用折线图追踪一段时间内的股票价格变化。通过组合不同的图表类型和自定义选项...

    JFreeChart无中文乱码版本

    这些图表可以广泛应用于数据分析、报表生成、GUI应用以及Web应用中,为用户呈现出清晰直观的数据视图。 在创建图表的过程中,JFreeChart提供了丰富的定制选项。你可以自定义图表的标题、轴标签、图例、数据系列颜色...

    jfreechart 折线图 应用

    本程序是把图片保存到本地,当然实际应用中,只要在程序和页面中做相关配置即可以使用。 因为图片带点透明,所以windows查看的时候,会根据背景色,颜色有所不同,或是黑色,或是黄色,当配置到网页上,返回到页面...

    JFreeChart API中文文档

    JFreeChart API中文文档

Global site tag (gtag.js) - Google Analytics