介绍

* 模板顾名思义就是一个有固定格式的样板
* 例如日常遇到的填写某些表单,表单里面是有规定需要填什么的,这就是固定的东西,而只有你自己填写的内容信息是动态的可变的

定义

* 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中
* 模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤

应用

* 有固定的步骤,也有可变的步骤

入门案例:

UML图解:

代码:

[AbstractTemplate]

AbstractTemplate:

public abstract class AbstractTemplate {//抽象方法:可变部分public abstract void say();//模板方法:不可变部分final public void templateMethod(){say();System.out.println("开始吃米田共");System.out.println("结束吃米田共");}}

测试:

public class Main {public static void main(String[] args){new AbstractTemplate() {@Overridepublic void say() {System.out.println("我是普通人,我接受不了");}}.templateMethod();System.out.println("===================================================");new AbstractTemplate() {@Overridepublic void say() {System.out.println("我是超人,我没关系");}}.templateMethod();/*** output:*  我是普通人,我接受不了开始吃米田共结束吃米田共 ===================================================我是超人,我没关系开始吃米田共结束吃米田共*/}
}

转载于:https://www.cnblogs.com/tandi19960505/p/8179093.html

对象行为型 - 模版方法模式相关推荐

  1. C++ 模版方法模式

    简述 模版方法模式(Template Method Pattern)定义一个操作中算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. | 版 ...

  2. 详解设计模式:模版方法模式

    模板方法模式(Template Method Pattern)也被称为模板模式(Template Pattern),是在 GoF 23 种设计模式中定义了的行为型模式. 模板方法模式 定义一个操作中的 ...

  3. 模版方法模式/Template Method

    模版方法模式/Template Method 意图/适用场景: 模版方法模式其实是一种应用很广泛的模式,特别是在使用抽象类的时候. 模版方法模式中必然有一个核心的抽象类,不能是接口.声明一些抽象方法, ...

  4. Java设计模式笔记(4)模版方法模式

    模版方法模式:定义一个操作中的算法的框架,而将一些步骤延迟到子类中.使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤. 抽象模版的方法分为两类: 1. 基本方法也叫基本操作,是由子类实现的方 ...

  5. 模版方法模式 Template Method Pattern — 穷人和富人的不同婚恋历程

    说明:我也是初学者,希望大家能提出宝贵意见.另外转载请注明作者左洸和出处博客园,毕竟花费了很长时间才完成. 不管是穷人还是富人,都要谈恋爱结婚,而且每个人的婚恋经历,步骤大体上都是一样的,比如说:见面 ...

  6. 模版方法模式--旅游签证

    模版方法模式–旅游签证 题目 想要出国旅游,基本都要经过以下几个步骤:办护照.办签证.买票.到达. 但是目前有些国家对于中国人是免签的或者是落地签,所以去不同的国家旅行时的具体步骤会有所不同. 请用模 ...

  7. 设计模式 模版方法模式 展现程序员的一天

    继续设计模式~ 模版方法模式 老套路,先看下定义:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可以在不改变算法结构的情况下,重新定义算法的步骤. 简单看下定义,模版方法定义了一个算 ...

  8. 设计模式——模版方法模式详解(论沉迷LOL对学生的危害)

    0. 前言 写在最前面,本人的设计模式类博文,建议先看博文前半部分的理论介绍,再看后半部分的实例分析,最后再返回来复习一遍理论介绍,这时候你就会发现我在重点处标红的用心,对于帮助你理解设计模式有奇效哦 ...

  9. 设计模式(九)模版方法模式

    相关文章 设计模式(一)设计六大原则 设计模式(二)单例模式的七种写法 设计模式(三)建造者模式 设计模式(四)简单工厂模式 设计模式(五)观察者模式 设计模式(六)代理模式 设计模式(七)装饰模式 ...

  10. 图解Java设计模式学习笔记——行为型模式(模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式)

    一.模板方法模式(模板模式)--钩子方法 1.需求-豆浆制作问题 编写制作豆浆的程序,说明如下: 制作豆浆的流程选材-->添加配料-->浸泡-->放到豆浆机打碎. 通过添加不同的配料 ...

最新文章

  1. mysql将权限分为几个层级_MySQL多层级结构-区域表使用树详解
  2. 上有硬核理论下能操刀AI落地,这里走出来的人都有“开挂人生”
  3. 费用流:spfa Dijkstra
  4. 黑盒攻击的分类_「图像分类」图像分类中的对抗攻击是怎么回事?
  5. 元类(metaclass)
  6. AVS 帧内预测模式的汇编优化
  7. 使用公用表表达式的递归查询
  8. Spring事务操作-事务
  9. linux防火墙安装httpd配置,CentOS7下 Apache的安装配置方法
  10. Ubuntu入门——基础终端命令
  11. 【第四课】UAV倾斜摄影测量三维建模技术软件——Smart 3d
  12. 插件//better-scroll(BScroll/滚动插件)使用方法及其在 vue 中使用
  13. PI系统在DCS中的应用
  14. Unity图片优化神器 - Dither算法进阶方案
  15. 【转】目前最常见的”无线通信(数据)传输技术“有哪些?
  16. 2022年中国服务外包行业发展现状及未来发展趋势分析:执行额达1753.5亿美元,同比增长10.92%[图]
  17. 摄像头工作原理及结构介绍(一)
  18. Qt中几个函数的使用方法
  19. 秋季出生的宝宝这样起名,全班同学都羡慕。
  20. 集群调度框架的架构演进过程

热门文章

  1. 【渝粤教育】国家开放大学2019年春季 2083信息技术与教育技术(2) 参考试题
  2. 【渝粤教育】国家开放大学2018年秋季 0049-22T法律文书 参考试题
  3. ACM 学习笔记(三) 数学入门
  4. JSP弹出窗口和模式对话框
  5. Loadrunner 11检查点使用方法总结
  6. mybatis 查询
  7. [No000083]文件与文件夹操作
  8. 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
  9. 【转】HDC,CDC,CWindowDC,CClientDC,CPaintDC等等
  10. How to convert any valid date string to a DateTime.