- 浏览: 211563 次
- 性别:
- 来自: 北京
文章分类
模版方法是一种非常简单的设计模式:简单的理解就是将关键的业务方法,逻辑,算法封装起来。把具体的一些容易变化的步骤留给子类实现,具体表现就是实现父类的方法。
实现过程:把我们不知道的具体实现步骤封装成抽象方法,提供一些按照正确顺序调用他们的具体方法,这些具体方法叫做模版方法。这样就构成了一个抽象基类。子类
通过继承这个基类去实现抽象方法,而工作流由父类控制。
注释:父类(抽象类)中需要定义的有:模版方法(公用的业务逻辑,算法,里面按照顺序调用未知的抽象方法),抽象方法
子类中需要定义的有:实现父类的抽象方法
好处:将不易改变的东西流在父类中,避免了代码的重复编程
实例:
public abstract class BaseClass{
public abastract void doLogic();
public final void doProcess(){
//业务逻辑和算法
doLogic();
//业务逻辑和算法
}
}
public class SubClass extends BaseClass{
public void doLogic(){
//子类的业务逻辑
}
}
//调用类
public static void main(String[] args){
BaseClass subClass = new SubClass();
subClass.doProcess();
}
实现过程:把我们不知道的具体实现步骤封装成抽象方法,提供一些按照正确顺序调用他们的具体方法,这些具体方法叫做模版方法。这样就构成了一个抽象基类。子类
通过继承这个基类去实现抽象方法,而工作流由父类控制。
注释:父类(抽象类)中需要定义的有:模版方法(公用的业务逻辑,算法,里面按照顺序调用未知的抽象方法),抽象方法
子类中需要定义的有:实现父类的抽象方法
好处:将不易改变的东西流在父类中,避免了代码的重复编程
实例:
public abstract class BaseClass{
public abastract void doLogic();
public final void doProcess(){
//业务逻辑和算法
doLogic();
//业务逻辑和算法
}
}
public class SubClass extends BaseClass{
public void doLogic(){
//子类的业务逻辑
}
}
//调用类
public static void main(String[] args){
BaseClass subClass = new SubClass();
subClass.doProcess();
}
发表评论
-
多种单例模式的分析
2012-03-28 18:06 0blog.csdn.net/derpvailzhangfan/ ... -
JDK中的设计模式
2012-03-14 22:56 01.Abstract Factory •java.util.C ... -
简单工厂模式使用心得(使用场景)
2012-02-23 18:24 11481在实际项目中,简单工厂模式是我们使用的最多的设计模式之一,简单 ... -
AbstractList中Iterator模式的妙用
2012-01-13 11:51 943AbstractList中为了实现顺序访问AbstractLi ... -
适合使用命令模式的情景
2012-01-13 11:31 886情景1.当借个类都拥有 ... -
Iterator模式
2012-01-13 10:57 855我个人常叫它游标模式,该模式的主要目的就是,顺序访问集合中的各 ... -
使用工厂设计模式的场景
2012-01-12 15:43 2729创建类对象虽然可以使用new(底层也是通过反射创建对象的),但 ... -
JDK中使用的设计模式
2012-01-13 10:04 14151.抽象工厂模式 实 ... -
JDK中使用的设计模式代码实例
2012-01-05 17:38 0http://stackoverflow.com/questi ... -
享元模式
2011-12-23 10:22 1001通常情况下,我们会需 ... -
策略模式
2011-12-22 17:07 837所谓策略模式就是定义了多种算法,而让不同算法之间的切换不会影响 ... -
合成设计模式
2011-12-22 16:28 942如果要将对象组织到树中,使用树来表示对象之间的关系,请考虑使用 ... -
责任链模式
2011-12-20 18:35 801此文转正于http://wenku.baidu.com/vie ... -
桥梁设计模式
2011-12-19 18:19 803如果有很多对象要处理,而又有很多操作要做。这时可以考虑使用桥梁 ... -
多线程设计模式(Thread-Specific storage)
2011-12-12 15:29 5818引用自http://www.riabook.cn/doc/de ... -
代理模式
2011-11-30 15:26 904代理模式实际上是对对象的一种代理,以控制对象的访问。 有些情况 ... -
观察者模式
2011-11-16 14:48 1368声明转载的,简单易懂,呵呵 观察者模式的构造 l 抽 ... -
命令模式
2011-11-16 14:11 1220今天想学学命令模式,看见了一个文章讲的就是命令模式,感觉实例比 ... -
建造模式
2011-11-14 12:03 879建造模式是将负责对象 ... -
设计模式之适配器模式
2011-11-09 18:24 933适配器模式:主要是为了解决,老的对象在新的环境中不兼容的现象。 ...
相关推荐
java的23种常用设计模式:模板方法模式
本文实例讲述了Android编程设计模式之模板方法模式。分享给大家供大家参考,具体如下: 一、介绍 在面向对象开发过程中,通常会遇到这样的一个问题,我们知道一个算法所需的关键步骤,并确定了这些步骤的执行顺序,...
Java设计模式之模板方法模式.rarJava设计模式之模板方法模式.rar
设计模式之模板方法模式Java实现和UML类设计图
设计模式之模板方法测试代码
Java设计模式之模板方法模式Java认证考试.pdf
将《Head First 设计模式》(中文版)按章节进行了分割,每章一个文件,方便大家下载。
本文实例讲述了Python设计模式之模板方法模式。分享给大家供大家参考,具体如下: 模板方法模式(Template Method Pattern):定义一个操作中的算法骨架,将一些步骤延迟至子类中.模板方法使得子类可以不改变一个算法的...
本文实例讲述了PHP设计模式之模板方法模式。分享给大家供大家参考,具体如下: 定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 模板...
模板方法(TemplateMethod) 用意:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
本文实例讲述了JavaScript设计模式之模板方法模式原理与用法。分享给大家供大家参考,具体如下: 一、模板方法模式:一种只需使用继承就可以实现的非常简单的模式。 二、模板方法模式由两部分组成,第一部分是抽象...
run()方法,这是一个汇总方法,一个模型生产成功了,总要拿给客户检测,run()方法就是一种检验方法,让它跑起来,通过run()方法,把所有功能都测试到了。
本文实例讲述了PHP设计模式之模板方法模式定义与用法。分享给大家供大家参考,具体如下: 什么是模板方法模式 模板方法(Template Method)设计模式中使用了一个类方法templateMethod(), 该方法是抽象类中的一个具体...
主要为大家详细介绍了java设计模式之模板方法模式的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
设计模式的模板方法模式的例子,希望对大家有用~~~~~~~~
主要为大家详细介绍了C++设计模式之模板方法模式TemplateMethod,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
设计模式--模板方法模式java例子