今天在看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-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中的应用
这款工具非常适合在各种 Java 应用程序、Applet 和 Servlet 中使用,提供了一种高效的方式来生成高质量的图表。由于其开源性质,JFreeChart 成为了许多开发者和企业的首选图表生成解决方案。 **1.1.2 特点** - **...
3. **实战篇**:提供实际案例,指导如何在Swing应用、Web应用中集成JFreeChart,以及如何使用XML保存和加载图表配置。 通过学习《JFreeChart中文教程》和查阅中文API,开发者能够熟练掌握JFreeChart的使用,提升...
- **数据支持**:JFreeChart 可以接受各种数据源,如数组、列表、数据库查询结果等,方便地与Java应用中的数据结构集成。 - **交互性**:支持鼠标点击、拖动等交互操作,如选择区域、显示提示信息等。 - **多平台...
这个库广泛应用于各种Java应用程序中,包括Web应用、桌面应用以及数据分析和报告系统。JfreeChart的中文帮助文档为开发者提供了详细的指南,帮助他们更好地理解和使用这个库。 **1. JfreeChart的基本概念** - **...
这个压缩包里面有三个...JFreeChart+API一览.doc JFreeChart中文API(1).mht JFreeChart中文文档.htm 内容差不多,都提供出来方便大家看 主要是介绍了每个API的方法都是用来做什么用得,解释是中文的感觉还是比较有用的.
示例中可能展示了如何将图表嵌入到Java应用中,以及如何导出为图片或PDF。 ### 八、实时更新图表 在某些应用中,图表需要根据动态数据实时更新。JFreeChart提供了刷新和重绘机制,使图表能实时反映数据变化。示例...
在提供的 "baobiao" 压缩包中,可能包含了一些示例代码或预生成的图表图像,这有助于你进一步了解 JFreeChart 的实际应用。建议解压并研究这些文件,以加深对 JFreeChart 使用的理解。同时,查阅 JFreeChart 的官方...
在"JFreeChart JSP应用例子"中,我们将深入探讨如何在JSP页面上利用JFreeChart库创建并展示柱状图。 首先,我们需要理解JSP(JavaServer Pages)是一种动态网页技术,允许开发者在HTML中嵌入Java代码,从而生成动态...
### JFreeChart在JSP中的应用实例 #### 一、JFreeChart简介 JFreeChart是一款功能强大且灵活的开源Java图表库,它为开发者提供了丰富的API来创建各种类型的图表,如折线图、柱状图、饼图等。由于其良好的可定制性...
在使用JFreeChart库生成图表时,可能会遇到中文乱码的问题,这主要是因为JFreeChart默认的字体不支持中文显示。解决这个问题的关键在于为图表的各个部分(如标题、轴标签、图例等)设置合适的中文支持字体。下面将...
JFreeChart 是一个开源的 Java 图形库,用于创建高质量的图表,如饼图、柱状图、线图、散点图等。它提供了一系列丰富的API,使得开发者能够轻松...JFreeChart的强大功能使得它成为Java开发中绘制复杂图表的首选库之一。
JFreeChart是一款强大的Java图表库,支持多种图表类型,包括柱状图、折线图、饼图等,并且提供了丰富的自定义选项来满足不同应用场景的需求。 ### JFreeChart中文API解释 #### 1. Chart类中的方法 - **`void ...
这部分内容可能涉及到如何将JFreeChart集成到Web应用程序中,比如使用Servlet或JSP来生成图表,并在网页上显示。这通常需要理解HTTP响应、图片流的概念,以及如何将JFreeChart生成的BufferedImage对象转换为可以在...
在实际应用中,JFreeChart可以用于数据报告、监控系统、数据分析等多种场合。例如,你可以使用它来创建一个饼图展示公司的销售分布,或者用折线图追踪一段时间内的股票价格变化。通过组合不同的图表类型和自定义选项...
这些图表可以广泛应用于数据分析、报表生成、GUI应用以及Web应用中,为用户呈现出清晰直观的数据视图。 在创建图表的过程中,JFreeChart提供了丰富的定制选项。你可以自定义图表的标题、轴标签、图例、数据系列颜色...
本程序是把图片保存到本地,当然实际应用中,只要在程序和页面中做相关配置即可以使用。 因为图片带点透明,所以windows查看的时候,会根据背景色,颜色有所不同,或是黑色,或是黄色,当配置到网页上,返回到页面...
JFreeChart API中文文档