Java中模板模式怎么用(java,开发技术)

时间:2024-05-08 20:01:29 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    优点

    封装不变部分,扩展可变部分。

    提取公共代码,便于维护。

    行为由父类控制,子类实现。

    缺点

    每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。

    使用场景

    1.有多个子类共有的方法,且逻辑相同。

    2.重要的、复杂的方法,可以考虑作为模板方法。

    一、实现方式

    假设一个场景,我们在玩游戏的时候,都需要初始化加载游戏,然后开始游戏,最后结束游戏,这像是一套模板一样的操作,但是具体的实现方法却不同,例如:LOL 游戏与 CF 游戏的加载资源肯定不同,游戏的内容也不同。

    1、游戏抽象类

    packagecom.asurplus.common.template;/***游戏抽象类*/publicabstractclassGame{//初始化游戏abstractvoidinit();//开始游戏abstractvoidstart();//结束游戏abstractvoidend();//模板publicfinalvoidplay(){//初始化游戏init();//开始游戏start();//结束游戏end();}}

    2、LOL游戏类

    packagecom.asurplus.common.template;importlombok.extern.slf4j.Slf4j;/***LOL游戏*/@Slf4jpublicclassLolGameextendsGame{@Overridevoidinit(){log.info("初始化LOL游戏");}@Overridevoidstart(){log.info("LOL游戏开始");}@Overridevoidend(){log.info("LOL游戏结束");}}

    3、CF游戏类

    packagecom.asurplus.common.template;importlombok.extern.slf4j.Slf4j;/***CF游戏*/@Slf4jpublicclassCfGameextendsGame{@Overridevoidinit(){log.info("初始化CF游戏");}@Overridevoidstart(){log.info("CF游戏开始");}@Overridevoidend(){log.info("CF游戏结束");}}

    二、测试

    packagecom.asurplus.common.template;/***模板模式*/publicclassTestMain{publicstaticvoidmain(String[]args){//LOL游戏GamelolGame=newLolGame();lolGame.play();System.out.println();//CF游戏GamecfGame=newCfGame();cfGame.play();}}

    输出结果

    Java中模板模式怎么用

    可以看出,一套模板,可以有多个实现方式,从而实现了我们的工厂模式。

     </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
    本文:Java中模板模式怎么用的详细内容,希望对您有所帮助,信息来源于网络。
    上一篇:controller中如何调用多个service方法下一篇:

    9 人围观 / 0 条评论 ↓快速评论↓

    (必须)

    (必须,保密)

    阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18