java中使用模板设计模式

java中使用模板设计模式,第1张

java中使用模板设计模式

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

也就是我们干某些东西的时候,都会有固定的步骤,如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{
    @Override
    void one() {
        System.out.println("王者荣耀开始了,敌军还有十秒到达战场");
    }

    @Override
    void two() {
        System.out.println("一看 *** 作猛如虎,一看战绩0/5");
    }

    @Override
    void three() {
        System.out.println("六分钟投了,战斗结束");
    }
}
public class ChiJiThing  extends doSomething{
    @Override
    void one() {
        System.out.println("队友挂了一个");
    }

    @Override
    void two() {
        System.out.println("队友挂了两个");
    }

    @Override
    void 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的加载过程中,也是用到了简单工程模式,策略模式,责任链模式等等。策略模式在上一期有详细的说明。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5686819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存