js设计模式:模板方法模式

这篇具有很好参考价值的文章主要介绍了js设计模式:模板方法模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作用:

父类定义一个整体的模板框架,将具体的方法行为定义到子类中。

模板方法主要是封装行为中的固定部分,同时允许子类对方法进行扩展

示例:

        //moba游戏原型设计方案
        class MobaGame{
            loadAssets(){
                return{
                    heroList:this.heroList(),
                    equipmentList:this.equipmentList(),
                    maps:this.maps()
                }

            }
            heroList(){
                throw new Error('具体游戏具体定义英雄')
            }
            equipmentList(){
                throw new Error('具体游戏具体定义装备')
            }
            maps(){
                throw new Error('具体游戏具体定义地图')
            }
        }
        //根据moba游戏模式创建dota
        class Dota extends MobaGame{
            constructor(){
                super()
                this.from = '从魔兽争霸单机游戏里进入的,不用账号'
            }
            heroList(){
                return ['末日使者','斧王','圣骑士','敌法师']
            }
            equipmentList(){
                return ['圣剑','阿哈利姆神杖']
            }
            maps(){
                return [{name:'天灾vs近卫地图'}]
            }
        }
        //根据moba游戏模式创建lol
        class LOL extends MobaGame{
            constructor(code,password){
                super()
             this.code = code
             this.password = password
            }
            heroList(){
                return ['德玛西亚皇子','虚空女皇','刀锋之影','诡术妖姬']
            }
            equipmentList(){
                return ['日炎斗篷','最后的轻语']
            }
            maps(){
                return [{name:'召唤师峡谷'},{name:'扭曲丛林'}]
            }
        }
        
        //下载war3
        let wjt_dota = new Dota()
        //加载dota游戏资源
        const dotaAssets = wjt_dota.loadAssets()
        console.log(dotaAssets,'dota资源')
        //下载英雄联盟
        let wjt_lol = new LOL('123456','654321')
        //加载lol资源
        const lolAssets = wjt_lol.loadAssets()
        console.log(lolAssets,'lol资源')

js设计模式:模板方法模式,js设计模式,javascript,设计模式,模板方法模式,前端文章来源地址https://www.toymoban.com/news/detail-836773.html

到了这里,关于js设计模式:模板方法模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 设计模式---模板方法模式

            所谓模板方法模式,就是提供一种方法的模板来实现一种规范,其他人可以利用这个模板定义自己的逻辑。         在Java编程中的应用,主要就是通过接口或者抽象类来实现的,抽象类中可以把逻辑函数声明为final类型,表示不能被重写,即不能改变逻辑。在接口中

    2024年04月24日
    浏览(34)
  • 【设计模式】模板方法模式

    模板方法模式:定义一个操作中的算法骨架(父类),而将一些步骤延迟到子类中。 模板方法使得子类可以不改变一个算法的结构来重定义该算法的 实现一些操作时,整体步骤很固定,但是呢。就是其中一小部分需要改变,这时候可以使用模板方法模式,将容易变的部分抽

    2024年02月08日
    浏览(32)
  • 设计模式(13):模板方法模式

    实现一个功能时,整体步骤很固定,但是,某些部分易变。易变部分可以抽象出来,供子类实现。 非常繁琐,各个框架,类库中都有它的影子,比如常见的有: 数据库访问的封装 Junit单元测试 servlet中关于doGet/doPost方法调用 spring框架中各种Template shire中权限认证和授权都用到

    2024年04月16日
    浏览(32)
  • 设计模式(7)模板方法模式

    一、定义: 定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。

    2024年02月12日
    浏览(24)
  • Java设计模式 (一) 模板方法设计模式

    什么是模板方法设计模式? 模板方法设计模式是一种行为型设计模式,它定义了一个算法的骨架,并将一些步骤的具体实现延迟到子类中。模板方法模式可以帮助确保在算法的不同部分中保持一致性,同时也允许子类根据需要进行具体实现。 模板方法模式的关键特点包括:

    2024年02月12日
    浏览(31)
  • 设计模式【行为型】-- 模板方法模式

          模板方法模式是一种行为型设计模式,它定义了一个操作中的算法骨架,将一些步骤的具体实现延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 模板方法模式基于一个抽象类或接口定义算法的骨架,该骨架由一个模板

    2024年02月16日
    浏览(32)
  • 设计模式之八:模板方法模式

    泡咖啡和泡茶的共同点: 把水煮沸 沸水冲泡咖啡/茶叶 冲泡后的水倒入杯子 添加糖和牛奶/柠檬 在上面的代码种,prepareRecipe就是一个模板方法。 模板方法 定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现(依赖子类提供某些或所有步骤的实现,父类拥有并保护

    2024年02月11日
    浏览(30)
  • 设计模式(六):模板方法模式(行为型模式)

    Template Method,模板方法:定义一个操作中的算法的骨架,而将一 些步骤延迟到子类中,TemplateMethod使得子类可以不改变一个算法的结构即 可以重定义该算法得某些特定步骤。 举例说明 奶茶制作过程,第一步加牛奶,第二步加糖,第三步加其他配料。第三步对于不同口味的奶

    2024年02月21日
    浏览(33)
  • 经典的设计模式13——模板方法模式

    开始11个属于行为型模式的复习。 用户登录控制功能用模板方法实现。 定义: 定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。 结构: 抽象类(abstract):负责给出一个算法的轮廓和骨架

    2024年02月08日
    浏览(29)
  • C++设计模式22:模板方法模式

    C++ 23种设计模式系列文章目录 创建型模式 第1式 工厂方法模式 第2式 抽象工厂模式 第3式 单例模式 第4式 建造者模式 第5式 原型模式 结构型模式 第6式 适配器模式 第7式 桥接模式 第8式 组合模式

    2024年02月02日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包