`

[原]模板方法模式

阅读更多

[关键字]:java,design pattern,设计模式,《Java与模式》学习,template method pattern,模板方法模式
[环境]:StarUML5.0 + JDK6
[作者]:Winty (wintys@gmail.com) http://www.blogjava.net/wintys/
[正文]:



 


package pattern.template;
/**
 * 模板方法模式:Template Method Pattern
 * @version 2009-6-15
 * @author Winty(wintys@gmail.com)
 */
public class TemplateMethodTest{
    public static void main(String[] args){
        AbstractClass ac = new ConcreteClass();
        ac.theTemplateMethod();
    }
}

/**
 * 抽象模板角色,在此定义模板方法
 */
abstract class AbstractClass{
    public void theTemplateMethod(){
        operation1();
        operation2();
        operation3();
        doHookOperation();
    }

    protected abstract void operation1();
    protected abstract void operation2();

    public final void operation3(){
        System.out.println("operation3");
    }

    public void doHookOperation(){
        //空方法
    }
}

/**
 * 具体模板角色
 */
class ConcreteClass extends AbstractClass{
    protected void operation1(){
        System.out.println("operation1");
    }

    protected void operation2(){
        System.out.println("operation2");
    }
}


  • 大小: 26 KB
分享到:
评论

相关推荐

    [浪曦原创]JAVA设计模式.第10讲.模板方法模式.rar

    [浪曦原创]JAVA设计模式.第10讲.模板方法模式.rar

    【资源免费下载】Java代码积累丨大话设计模式(Java实现版本)、线程协作

    模板方法模式 行为模式(对象行为模式) 策略模式 观察者模式 状态模式 导入模式 迭代器模式 命令模式 职责链模式 进来者模式 访问者模式 数据结构 Stack - 使用泛型实现Stack 生成斐波那契数列 使用容器 利用迭代器...

    多目标模板匹配.rar

    模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。模板匹配具有自身的局限性,主要表现在...

    Ruby设计模式(中文版+英文版).pdf

    本书以通俗易懂的方式介绍了Ruby设计模式,主要包括Ruby概述、使用模板方法变换算法、使用策略替换算法、通过观察器保持协调、通过迭代器遍历集合、使用命令模式完成任务、使用适配器填补空隙、使用装饰器改善对象、...

    最新抖你妹原版主题源码仿抖音模式套图SEO源码-Wordpress图片主题

    最新抖你妹原版主题源码仿抖音模式套图SEO源码_Wordpress图片主题最新抖你妹原版主题源码仿抖音模式套图SEO源码_Wordpress图片主题最新抖你妹原版主题源码仿抖音模式套图SEO源码_Wordpress图片主题最新抖你妹原版...

    基于原生小程序开发模式gulp开发工作流项目模板

    基于gulp less构建的微信小程序工程项目 项目图片自动压缩 ESLint代码检查 使用命令行快速创建page、template和component font 字体文件转换成base64

    设计模式可复用面向对象软件的基础.zip

    5.10 TEMPLATE METHOD(模板方法) —类行为型模式 214 5.11 VISITOR(访问者)—对象行为型 模式 218 5.12 行为模式的讨论 228 5.12 1 封装变化 228 5.12.2 对象作为参数 228 5.12.3 通信应该被封装还是被分布 229 ...

    PHPnew(PHP模板处理引擎) 7.0.rar

    PHPnew 7.0发行版本中,更首家集成了原生态,smarty,phpnew三种模式的引擎标签.无论你是哪种模式的忠实者,均可以通过phpnew来完成程序的模板化架设。 PHPnew 7.0 在原有基础进行更大的更新及结构变化,使得速度及...

    PHP模板引擎 xingTemplate v2.0.zip

    简易的模板语法的使用方法 可控制是否直接插入PHP代码 支持模板二级缓存 支持模板文件大小限制 支持Gzip数据压缩传输 支持模板数据调试模式 支持模板多语言功能 附带模板引擎运行时间统计功能 更多...

    PHPnew 模板引擎 v7.2.rar

    模板引擎支持smarty, 原生态php,discuz模式,三种使用习惯均可以交叉使用。 精小模板,适合二次整合。 7.2 更新日志: 1: 修正变量战用内存过多的问题 2: 流程判断更加精简 3: 加强安全性检测 安装使用...

    多风格的网店系统英文网店网站模板

    ASP + Access 数据库, 32种模板, 五种运费计算模式, 支持支付宝、财付通、网银等6种支付平台 完美搜索引擎优化 服务器要求: 基本要求:ASP语言、FSO组件、Access数据库 可选要求:Jmail或Cdo.Message任一(用于...

    设计模式:可复用面向对象软件的基础--详细书签版

    5.10 template method(模板方法) —类行为型模式 214 5.11 visitor(访问者)—对象行为型 模式 218 5.12 行为模式的讨论 228 5.12 1 封装变化 228 5.12.2 对象作为参数 228 5.12.3 通信应该被封装还是被...

    C#23种设计模式_示例源代码及PDF

    原始模型模式: 原始模型模式 通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原 型对象的方法创建出更多同类型的对象。 原始模型模式允许动态的增加或减少产品类, 产品 类不需要非得有任何事先...

    Head First(Design Patterns) 设计模式英文原版

     8模板方法模式封装算法  9选代器与组合模式管理良好的集合  10状态模式事物的状态  11代理模式控制对象访问  12复合模式模式中的模型  13与设计模式相处真实世界中的模式  附录A:剩下的模式 ...

    OpenCV模板匹配matchTemplate的实现

    模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。 它是图像处理中最基本、最常用的匹配方法。 模板匹配具有自身的局限性,主要表现...

    一个帝国CMS网页模板

    导入模板文件,就是e1196686550.temp这个文件,导入方法 进入后台→模板管理→左侧导航拉到最下边选择→模板组管理→在导入模板组选项中点击浏览→选择e1196686550.temp这个文件→在覆盖模板组这个选项选择默认模板...

    ps毕业设计展板模板.docx

    人物处理步骤: 打开photoshopcs5(本教程采用photoshopcs5制作,其它版本基本通用),打开原图,在背景图层上单击右键选择"复制图层",在弹出的对话框中直接单击确定即可复制生ps毕业设计展板模板全文共5页,当前为...

    PHPnew模板引擎 7.3.1.zip

    引擎无需配置即可使用,兼容性强,扩展方便,功能更是非常人性化7.0发行版本中,更首家集成了原生态,smarty,phpnew三种模式的引擎标签,无论你是哪种模式的忠实者,均可以通过phpnew来完成程序的模板化架设。...

    抖你妹原版主题源码 仿抖音模式套图SEO源码 全开源无授权 WordPress图片主题

    靓图库模板抖你妹原版主题源码,仿抖音模式套图SEO源码,wordpress图片主题不送数据!此源码为wordpress模板,需先安装wordpress后才能使用! 注意:PHP版本越高越好,PHP必须安装SG11扩展 xiuer主题特色: rem分端...

    php设计模式之模板模式实例分析【星际争霸游戏案例】

    本文实例讲述了php设计模式之模板模式。分享给大家供大家参考,具体如下: 星际中的虫族部队有个特别的进化兵种,就是飞龙,飞龙可以变成空中...模板模式模式示例: <?php //进化的框架类,它是个抽象类 abstr

Global site tag (gtag.js) - Google Analytics