定义:实现一个算法时,整体步骤很固定、通用,这些步骤已经在父类中写好了

也就是我们干某些东西的时候,都会有固定的步骤,如springboot集成mybatis等和rentranlock中,都是使用了模板的设计模式,调用的时候都需要按照步骤来进行,但每个步骤里面可能大家都不相同,所以就可以用这种模式;

本例子将举例打游戏,在王者和吃鸡中,王者有开始,战斗阶段,和结束阶段

吃鸡中,挂一个队友,挂两个队友,四个全挂,战斗结束;也是分了这三个前后顺序;那么就可以进行模版设计模式来进行

前期准备:

提供一个抽象类和一个全局访问的final方法;至于为什么要final,也就是防止重写;该方法来决定事情的先后顺序进行,并提供三个抽象方法

代码如下所示:

public abstract class doSomething {abstract void one();abstract void two();abstract void three();public final void dothreething(){one();two();three();}
}
package com.example.csv.Moban;public class WangZheThing  extends doSomething{@Overridevoid one() {System.out.println("王者荣耀开始了,敌军还有十秒到达战场");}@Overridevoid two() {System.out.println("一看操作猛如虎,一看战绩0/5");}@Overridevoid three() {System.out.println("六分钟投了,战斗结束");}
}
public class ChiJiThing  extends doSomething{@Overridevoid one() {System.out.println("队友挂了一个");}@Overridevoid two() {System.out.println("队友挂了两个");}@Overridevoid three() {System.out.println("队友全挂,战斗结束");}
}
@RestController
@RequestMapping("game")
public class GameController {@ResponseBody@RequestMapping("index")public String game(@Param("flage")String flage){doSomething dos;if (flage.equals("1")){dos=new WangZheThing();dos.dothreething();}else {dos=new ChiJiThing();dos.dothreething();}return "success";}
}

注意:这里的控制层我进行了逻辑的判断,如果不想用if可以使用策略模式来进行融合;在spring的设计当中,也是集成了多种模式来进行共同的完成,在spring的ioc的加载过程中,也是用到了简单工程模式,策略模式,责任链模式等等。策略模式在上一期有详细的说明。

下一期,不见不散!!!!

java中使用模板设计模式相关推荐

  1. 第80节:Java中的MVC设计模式

    第80节:Java中的MVC设计模式 前言 了解java中的mvc模式.复习以及回顾! 事务,设置自动连接提交关闭. setAutoCommit(false); conn.commit(); conn ...

  2. Java中的策略设计模式

    策略设计模式是一种行为模式,其中我们有多种算法/策略来完成一项任务,所使用的算法/策略留给客户选择. 各种算法选项封装在单独的类中. 在本教程中,我们将学习在Java中实现策略设计模式. UML表示形 ...

  3. Java中的命令设计模式

    在本教程中,我们将学习命令模式,这是一种重要的行为设计模式. 它具有一些重要的应用程序,例如在文本编辑器中实现撤消/重做功能. 在命令设计模式中,有一个命令对象位于发送方和接收方对象之间. 发送者对象 ...

  4. Java中的状态设计模式–示例教程

    状态模式是行为设计模式之一 . 当对象根据其内部状态更改其行为时,将使用状态设计模式. 如果必须根据对象的状态更改其行为,则可以在对象中使用状态变量,并使用if-else条件块根据状态执行不同的操作. ...

  5. Java中的Memento设计模式-示例教程

    记忆模式是行为设计模式之一 . 当我们要保存对象的状态以便以后可以恢复时,可以使用Memento设计模式. 记忆模式用于以这种方式实现该目的,即在对象外部无法访问该对象的已保存状态数据,从而保护了已保 ...

  6. Java中的访问者设计模式–示例教程

    访客模式是行为设计模式之一 . 当我们必须对一组相似类型的对象执行操作时,将使用访问者模式. 借助访问者模式,我们可以将操作逻辑从对象移动到另一个类. 例如,假设有一个购物车,我们可以在其中添加不同类 ...

  7. Java中的策略设计模式-示例教程

    策略模式是行为设计模式之一 . 当我们对一个特定任务有多种算法,并且客户端决定在运行时使用的实际实现时,将使用策略模式. 策略模式也称为策略模式 . 我们定义了多种算法,并让客户端应用程序将算法用作参 ...

  8. Java中的迭代器设计模式–示例教程

    迭代器模式是一种行为模式,用于提供遍历一组对象的标准方式. Iterator模式在Java Collection Framework中得到了广泛使用,其中Iterator接口提供了遍历集合的方法. 根 ...

  9. Java中的生成器设计模式

    Java 中的 Builder设计模式是一种创建模式,即用于创建对象,类似于 工厂方法设计模式 ,这也是创建设计模式. 在学习任何设计模式之前,我建议先找出特定设计模式要解决的问题. 众所周知, 必要 ...

最新文章

  1. Storm 0.9安装指南
  2. 不愿说再见 | 自动化系2019年毕业典礼发言
  3. idea 启动php项目路径,关于idea中Java Web项目的访问路径问题
  4. 随机生成 字体大小--转
  5. HALCON示例程序edge_segments.hdev提取连续的边缘段
  6. 卡尔曼_卡尔曼滤波最完整公式推导
  7. Linux基础——查看IP及port的简单实现
  8. 能过ChilkatDotNet4.dll组件,开发SFTP,上传下载功能。
  9. PHP全栈学习笔记3
  10. Python str 与 bytes 类型(Python2/3 对 str 的处理)
  11. python自动化测试-五大自动化测试的Python框架
  12. Python爬虫之(六)requests库的用法
  13. jbpm3.2中jbpm.jpdl.mysql.sql文件运行报错的问题
  14. Web漏洞扫描工具AWVS12使用详解
  15. tar.bz2 解压命令以及使用指令
  16. 推送给自学程序员们的一本Python书
  17. 论MongoDB索引选择的重要性
  18. 802.15.4协议简介
  19. 银行理财产品怎么做引流?抖音上怎么做理财产品?
  20. 【c++程序】求解一元二次方程

热门文章

  1. mksh linux
  2. 大头车智慧物流系统(APP+TMS)新闻发布会圆满结束
  3. VS每次都重复编译的问题
  4. 微信小程序 页面刷新的方法
  5. 【SSL 1534】森林冰火人(DP)
  6. 基于Tensorflow和DCGAN生成动漫头像实践(二)
  7. 【Kubernetes】Pod数据存储
  8. 高保真原型图(初级)
  9. 华为eNSP防火墙基本配置命令
  10. 怎么做前后端分离的个人博客,内部还有仿网易云音乐模块?点进便知!(基于Vue,Springboot+mybatisplus+SpringCloud+ElasticSearch等框架实现)