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

news/发布时间2024/5/15 6:16:34

作用:

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

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

示例:

        //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游戏模式创建dotaclass Dota extends MobaGame{constructor(){super()this.from = '从魔兽争霸单机游戏里进入的,不用账号'}heroList(){return ['末日使者','斧王','圣骑士','敌法师']}equipmentList(){return ['圣剑','阿哈利姆神杖']}maps(){return [{name:'天灾vs近卫地图'}]}}//根据moba游戏模式创建lolclass LOL extends MobaGame{constructor(code,password){super()this.code = codethis.password = password}heroList(){return ['德玛西亚皇子','虚空女皇','刀锋之影','诡术妖姬']}equipmentList(){return ['日炎斗篷','最后的轻语']}maps(){return [{name:'召唤师峡谷'},{name:'扭曲丛林'}]}}//下载war3let 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资源')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/sdPd/2656.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

CT图像中不同仿射剂量(单位:HU) 会对应人体不同的组织器官

CT图像中不同仿射剂量(单位:HU) 会对应人体不同的组织器官

【前端工程化面试题】webpack proxy的工作原理,为什么能解决跨域问题

在 webpack 的配置文件 webpack.config.js 中有一个配置项 devServer 里面有一个属性是 proxy,这里面可以配置代理服务器,解决跨域问题,请参考官网。 一般来说 webpack 的代理就是说的开发服务器 webpack-dev-server。 其实不光是 webpack 其…

穿越科技的电影之旅:计算机专业必看的三部经典电影

文章目录 方向一:电影推荐方向二:技术与主题方向三:职业与人生 计算机专业必看的几部电影,就像一场精彩的编程盛宴!《黑客帝国》让你穿越虚拟世界,感受高科技的魅力;《社交网络》揭示了互联网巨…

公司数据迁移,服务器小文件多复制慢解决方案

企业普遍面临一个挑战:如何高效地处理和移动大量的小型文件。这些文件虽然单个体积不大,但数量庞大,累积起来会占据极大的存储空间,而且在迁移过程中,复制这些文件的速度往往非常缓慢。这不仅影响了企业的运营效率&…

4.Spring MVC入门

文章目录 1. HTTP协议2. Spring MVC2.1. 三层架构2.2. MVC(解决表现层的问题)2.3. 核心组件 3. Thymeleaf3.1. 模板引擎3.2. Thymeleaf3.3. 常用语法 代码 1. HTTP协议 网址:https://www.ietf.org/ (官网网址) https:…

vue如何动态加载显示本地图片资源

在实际开发中,根据某一个变量动态展示图片的情况有很多。实现方法分打包构建工具的差异而不同。 1、webpack的项目 require引入图片资源 2、vite的项目 new URL(url,base).href 疑问解答:为什么vite项目不可以用require? 原因在于&#xf…

常见消息中间件

ActiveMQ 我们先看ActiveMQ。其实一般早些的项目需要引入消息中间件,都是使用的这个MQ,但是现在用的确实不多了,说白了就是有些过时了。我们去它的官网看一看,你会发现官网已经不活跃了,好久才会更新一次。 它的单机吞…

网络安全-pikachu之文件上传漏洞2

进入到第二个文件上传漏洞,发现名字是MIME type,并且查看前端源代码没发现限制,所以是后段,盲猜通过抓包就可以绕过后段限制。 先知道MIME type是什么,通过查找资料发现是:Content-Type是返回消息中非常重…

【代码随想录python笔记整理】第十二课 · 位置互换

前言:本笔记仅仅只是对内容的整理和自行消化,并不是完整内容,如有侵权,联系立删。 一、变量交换的实现 这节我们讨论一个简单的问题——怎么交换两个变量的值。比如说,一个瓶子里是水,一个瓶子里是油,想要将两个瓶子中的东西互换,我们应该怎么做呢?要实现上述过程,我们…

前端-游览器渲染原理

渲染 render vue react render 游览器渲染 html字符串 - > 像素信息 游览器是如何渲染页面的? 当游览器的网络线程收到 html文档后,会产生一个渲染任务,并将其传递给渲染主线程的消息队列 在事件循环机制的作用下,渲染主线程取出消息队列中的渲染任务,开启渲染流程. 整…

notepad++运行python闪一下就没啦

问题:Notepad直接快捷键运行Python代码,出现闪一下就没了 解决措施: ①点击菜单运行(Run) --> 运行(Run)弹出的对话框 ②把 cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT 粘贴进入这个对话框内 ③点击保存&a…

C#串口 Modbus通讯工具类

一、安装Modbus包 二、创建modbushelper类 1、打开串口 public bool IfCOMOpend; //用于实例内的COM口的状态 public SerialPort OpenedCOM;//用于手动输入的COM转成SERIAL PORT /// <summary> /// 打开串口 /// </summary> /// <param name="COMname&quo…

总线中的match函数-笔记

嵌入式软件的bus_type 结构中的一个成员 .match 成员&#xff0c;是一个函数。用来在现有的设备驱动中匹配新插入的设备。匹配方式有4种(设备树、ACPI&#xff0c;id_tables, name)。 以platform总线为例&#xff0c;platform_bus_type 实例的match 为 platform_match, platfo…

QT_day2

1.思维导图 2.使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff…

Go语言的100个错误使用场景(48-54)|错误管理

前言 大家好&#xff0c;这里是白泽。**《Go语言的100个错误以及如何避免》**是最近朋友推荐我阅读的书籍&#xff0c;我初步浏览之后&#xff0c;大为惊喜。就像这书中第一章的标题说到的&#xff1a;“Go: Simple to learn but hard to master”&#xff0c;整本书通过分析1…

高效的FTP替代产品,如何解决FTP文件传输存在的弊端?

FTP最初并不是为IP网络设计的&#xff0c;而是在ARPANET&#xff08;Advanced Research Projects Agency Network&#xff0c;美国国防部高级研究计划署网络&#xff09;中作为计算机间文件传输的协议。1971年&#xff0c;Abhay Bhushan提出了FTP的第一个RFC&#xff08;Reques…

Out of memory,realloc failed

git config --global http.postBuffer 1048576000

SpringBoot整合GateWay(详细配置)

前言 在Spring Boot中整合Spring Cloud Gateway是一个常见的需求&#xff0c;尤其是当需要构建一个微服务架构的应用程序时。Spring Cloud Gateway是Spring Cloud生态系统中的一个项目&#xff0c;它提供了一个API网关&#xff0c;用于处理服务之间的请求路由、安全、监控和限流…

PyCharm 主题和字体 (Scheme Editor Font)

PyCharm 主题和字体 [Scheme & Editor Font] References Scheme & Editor Font File -> Settings -> Editor -> Colors & Fonts -> Font Show only monospaced fonts&#xff1a; 只显示等宽字体。编程时使用等宽字体效果较好。 References [1] Yon…

世界顶级名校计算机专业,都在用哪些书当教材?

清华、北大、MIT、CMU、斯坦福的学霸们在新学期里要学什么&#xff1f;今天我们来盘点一下那些世界名校计算机专业采用的教材。 欢迎来到英杰社区&#xff1a; https://bbs.csdn.net/topics/617804998 欢迎来到阿Q社区&#xff1a; https://bbs.csdn.net/topics/617897397 作者…
推荐文章