- 浏览: 112486 次
- 性别:
- 来自: 成都
最近访客 更多访客>>
文章分类
最新评论
-
dev_liu:
lipengyu2006 写道现在怎么样儿了啊 房子多少钱买 ...
最近比较心烦 -
lipengyu2006:
现在怎么样儿了啊 房子多少钱买的。
最近比较心烦 -
cynan168:
...
hibernate数据查询的几种方式 -
My_Choice:
joram中文文档 -
My_Choice:
非常感谢,太有用了,中文文档不好找啊,而且是这么详细的
joram中文文档
Template 定义:
定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.
其实Java 的抽象类本来就是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 模式已经完成,是不是很简单?看看如何使用:
Benchmark operation = new MethodBenchmark();
long duration = operation.repeat(Integer.parseInt(args[0].trim()));
System.out.println("The operation took " + duration + " milliseconds");
也许你以前还疑惑抽象类有什么用,现在你应该彻底明白了吧? 至于这样做的好处,很显然
啊,扩展性强,以后Benchmark 内容变化,我只要再做一个继承子类就可以,不必修改其他应
用代码.
发表评论
-
追MM与Java的23种设计模式[转]
2007-01-20 03:09 1191... -
设计模式之Factory
2007-01-20 02:58 1200定义:提供创建对象的接口. 为何使用? 工厂模式是我们最常用的 ... -
设计模式之Visitor
2007-01-20 02:54 1121Visitor 定义 作用于某个对象群中各个对象的操作. 它 ... -
设计模式之Interpreter(解释器)
2007-01-20 02:53 1177Interpreter 定义: 定义语言的文法 ,并且建立一 ... -
设计模式之Mediator(中介者)
2007-01-20 02:53 1189Mediator 定义: 用一个中介对象来封装一系列关于对象 ... -
设计模式之Strategy(策略)
2007-01-20 02:51 1141Strategy 是属于设计模式中 对象行为型模式,主要是定 ... -
设计模式之State
2007-01-20 02:51 1099设计模式之State State 的 ... -
设计模式之Command
2007-01-20 02:49 1038Command 模式是最让我疑惑的一个模式,我在阅读了很多代 ... -
设计模式之Chain of Responsibility(职责链)
2007-01-20 02:47 1141Chain of Responsibility 定义 Cha ... -
设计模式之Observer
2007-01-20 02:46 1024Java 深入到一定程度,就 ... -
设计模式之Memento(备忘机制)
2007-01-20 02:45 1149Memento 定义: memento 是一个保存另外一个对 ... -
设计模式之Flyweight(享元)
2007-01-20 02:40 1031板桥里人 http://www.jdon.com 2002/ ... -
设计模式之Bridge
2007-01-20 02:39 978Bridge 定义 : 将抽象和行为划分开来,各自独立,但能 ... -
设计模式之Composite(组合)
2007-01-20 02:38 939Composite 定义: 将对象以树形结构组织起来,以达成 ... -
设计模式之Adapter(适配器)
2007-01-20 02:36 875定义: 将两个不兼容的 ... -
设计模式之Proxy(代理)
2007-01-20 02:35 1123理解并使用设计模式, ... -
设计模式之Facade(外观)
2007-01-20 02:34 848Facade 的定义: 为子系统中的一组接口提供一个一致的界 ... -
设计模式之Builder
2007-01-20 02:33 991Builder 模式定义: 将一个复杂对象的构建与它的表示分 ... -
设计模式之Singleton(单态)
2006-12-28 21:28 1067定义: Singleton 模式主要作用是保证在Java 应 ... -
设计模式之Prototype(原型)
2006-12-28 21:22 1236定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型 ...
相关推荐
设计模式之Template 设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计...
设计模式之Template 设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计...
详细介绍GoF设计模式以及应用... 创建模式:设计模式之Factory,设计模式之Prototype(原型),设计模式之Builder,设计模式之Singleton(单态)....行为模式:设计模式之Template,设计模式之Memento(备忘机制).................
设计模式之 Template(模板方法) 实际上向你介绍了为什么要使用 Java 抽象类,该模式原理简单,使用很普遍. 设计模式之 Strategy(策略) 不同算法各自封装,用户端可随意挑选需要的算法. 设计模式之 Chain of ...
C#设计模式之Template模板方法模式实现ASP.NET自定义控件密码强度检测功能 Template模板方法模式是指定义一个操作中的算法骨架,将一些步骤延迟到子类中执行。这样可以让子类在不改变算法结构的情况下重新定义算法...
在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...
《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...
设计模式是软件工程中的一种重要思想,它是在特定情境下,为解决常见问题而形成的一套最佳实践。在本文中,我们将深入探讨24种设计模式,并结合混合设计模式的概念,以及它们在实际项目中的应用案例。 首先,设计...
模板方法模式是设计模式中的一种行为模式,它在软件工程中扮演着重要的角色,尤其是在C++这样的面向对象编程语言中。这种模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的...
文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...
模板方法模式(Template Method)是设计模式中行为型模式的一种,它定义了操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这个模式在C++编程中有着...
设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的可重用解决方案。《设计模式那点事》这本书的PPT为我们提供了一种深入理解和学习设计模式的途径。在这里,我们将深入探讨设计模式的核心概念、...
模板方法设计模式是一种行为设计模式,它...模板方法设计模式是设计模式中的基础模式之一,理解并正确使用它可以提高软件的灵活性、可维护性和扩展性。在实际开发中,我们应该根据需求灵活运用,以达到最佳的设计效果。
"设计模式" 在软件开发中,设计模式是一种解决特定问题的通用方法。它可以帮助开发者编写更加灵活、可维护、可扩展的代码。本书《您的设计模式》对设计模式进行了详细的讲解,涵盖了策略模式、代理模式、单例模式、...
第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton、Command、Adapter、Facade、Template Method、iterator、Composite、State、proxy。最后三章比较...
### 设计模式精解——GoF 23种设计模式解析及C++实现 #### 0. 引言 设计模式作为面向对象编程的核心组成部分,是软件开发者在长期实践中总结出来的最佳实践。通过深入理解这些设计模式,我们可以更好地进行面向...
《C#设计模式PDF 电子书》是一本专注于C#编程语言中设计模式的应用和解析的书籍,2005年04版意味着它在设计模式领域的应用尚处于早期阶段,但仍然具有很高的学习价值。设计模式是软件工程中经过实践验证的、解决常见...
行为型设计模式如策略(Strategy)、模板方法(Template Method)、观察者(Observer)、命令(Command)、迭代器(Iterator)、访问者(Visitor)、状态(State)、职责链(Chain of Responsibility)、解释器...
本篇详细总结软件开发所遵循的MVC (Model-View-Controller, 模型-视图-控制器) 设计模式以及Django的MVT设计模式(Model-View-Template)如何遵循这种设计理念。Django Model(模型), URL(链接), View(视图) 和Template...
Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与...