在王者荣耀角度下分析面向对象程序设计B中23种设计模式
文章平均质量分 76
面向对象程序设计的23种设计模式,用人们喜闻乐见的形式,通俗易懂地分别介绍各个模式在王者荣耀这款游戏中的应用,使得抽象的知识变得有趣,玩家们在玩耍的同时亦可从编程方面深入了解这款游戏的内在机制。
荣仔!最靓的仔!
业精于勤,荒于嬉;行成于思,毁于随。
展开
-
专栏最后一期——在王者荣耀角度下分析面向对象程序设计B中23种设计模式之总结篇
各位关注本专栏的读者朋友们,Happy May Day holiday!历时两个月,《23种设计模式在王者荣耀中的应用》专栏已经全部更新结束了。在这个专栏创立的2个月的时间里,文章总共发表了25篇,总点击量达到了3w+;我也通过这个专栏结交到了许多志同道合的朋友。想当初我只想的是在学习《面向对象程序设计B》过程中对书上的代码与当下最火的手游——王者荣耀结合并做一些改进,发表到CSD...原创 2020-04-30 08:08:29 · 8948 阅读 · 37 评论 -
一句话解释UML中的四种关系+总结
众所周知,UML即Unified Modeling Language的简称,统一建模语言。本文要浅显说的是UML中所说的四种关系:泛化关系、关联关系、依赖关系、实现关系。第一种:泛化关系也就是类的继承关系,关系用实线表示,空心三角表示结束。第二种:关联关系说的是UML图中的第2层(成员变量),关系用实线表示,方向箭头表示结束。第三种:依赖关系说的是UML图中的第3层(方法),关系...原创 2020-03-04 18:34:27 · 2143 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之解释器模式
·解释器模式在王者荣耀中的应用·一、简述二、解释器模式(InterpreterPattern)解释器模式理解:高度概括:解释器模式结构中的四种角色:解释器模式的UML类图:解释器模式的优缺点:优点:缺点:解释器模式的适用情景:三、王者荣耀角度下实现解释器模式结构图及代码eclipse结构图主函数【应用(...原创 2020-04-29 09:53:39 · 579 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之备忘录模式
·备忘录模式在王者荣耀中的应用·一、简述二、备忘录模式(Memento Pattern)备忘录模式理解:高度概括:备忘录模式结构中的三种角色:备忘录模式的UML类图:备忘录模式的优缺点:优点:缺点:备忘录模式的适用情景:三、王者荣耀角度下实现备忘录模式结构图及代码eclipse结构图主函数【应用(Applicati...原创 2020-04-28 17:02:57 · 587 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之访问者模式
·访问者模式在王者荣耀中的应用·一、简述二、访问者模式(Visitor Pattern)访问者模式理解:高度概括:访问者模式结构中的五种角色:访问者模式的UML类图:访问者模式的优缺点:优点:缺点:访问者模式的适用情景:三、王者荣耀角度下实现访问者模式结构图及代码eclipse结构图主函数【应用(Application)】Applicayion.javapack...原创 2020-04-28 10:37:30 · 970 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之享元模式
·享元模式在王者荣耀中的应用·一、简述二、享元模式(Flyweight Pattern)享元模式理解:高度概括:享元模式结构中的三种角色:①②③享元模式的UML类图:享元模式的优缺点:优点:缺点:享元模式的适用情景:三、王者荣耀角度下实现享元模式结构图及代码eclipse结构图主函数【应用(Application)】Applicayion.javapac...原创 2020-04-27 19:03:50 · 737 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之代理模式
·代理模式在王者荣耀中的应用·一、简述二、代理模式(Proxy Pattern)代理模式理解:高度概括:代理模式结构中的三种角色:代理模式的UML类图:代理模式的优缺点:优点:缺点:代理模式的适用情景:三、王者荣耀角度下实现代理模式结构图及代码应用一代码实现(虚拟代理模式)eclipse结构图主函数【应用(Application)】Applicayion.jav...原创 2020-04-26 10:44:12 · 1579 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之模板方法模式
·模板方法模式在王者荣耀中的应用·一、简述在王者荣耀中,有查看所有英雄功能,并且玩家在查看英雄时可以对英雄的排序做调整。具体而言,玩家可以按照默认排序、名称排序、熟练度排序、上架时间排序、荣耀战力排序等排序方式使英雄按照不同位置排列。在本实例中,我们将通过这一简单实例来说明,抽象模板中定义的具体方法——钩子方法。具体而言,我们将英雄事先输入到文本中,并通过英雄的名称按照...原创 2020-04-25 15:06:53 · 599 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之状态模式
·状态模式在王者荣耀中的应用·应用一:镜一二技能触发技能效果状态变化应用二:瑶三技能附身队友移动状态的变化一、简述状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。应用一:王者荣耀s19赛季新英雄镜被策划称作史上最难的最花里胡哨的英雄,在她上线后,玩家们也纷纷投身于体验镜这一英雄的热潮中。那么对于王者荣耀新英雄镜技能,研究起来也是别...原创 2020-04-21 19:36:39 · 878 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之桥接模式
·桥接模式在王者荣耀中的应用·一、简述王者荣耀中有一个观战系统。在观战系统中,玩家可以观看大神如何在战场上操作,从而学习大神出装、团战技巧等,同时也可以看好友如何战斗,以及回放自己的经典之战。观战系统的存在,可以让玩家们近距离观看大神或好友如何操作,针对练习更便捷。本地回放功能,完美保留精彩瞬间,战后回味别有一番趣味。二、桥接模式(Builder Pattern)桥接模式理解:高度...原创 2020-04-20 15:36:00 · 689 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之组合模式
·组合模式在王者荣耀中的应用·一、简述王者荣耀有非常多的英雄,而且每一个不同的英雄也有其自己对应的皮肤。玩家可以根据需要购买不同的英雄皮肤,体验不同英雄皮肤在对局中的感受。在本实例中,根据组合模式的特点,列举了英雄李白及其皮肤的树形价格表。二、组合模式(Composite Pattern)组合模式理解:高度概括:将对象组合成树形结构一表示“部分-整体”的层次结构。Composit...原创 2020-04-18 21:42:11 · 1279 阅读 · 1 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之单件模式
·单件模式在王者荣耀中的应用·一、简述今年春节王者荣耀出了一个叫做“王者快跑”的限时玩法,许多玩家都很喜欢这个游戏模式。不同于5V5的王者地图,这个地图是一个跑道中途有很多的障碍物,还有NPC玩家释放控制技能做阻拦,简单益智,只要一直跑就可以了,最终按照所有玩家到达终点的时间前后顺序获得名次。☞在本实例中,设计了一个Champion冠军单件类,以及马超、韩信、猪八戒、李白、李元芳等五...原创 2020-04-15 12:09:19 · 4302 阅读 · 5 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之原型模式
·原型模式在王者荣耀中的应用·一、简述在王者荣耀中,克隆模式算是一个人气比较高的娱乐模式了,因为该模式下双方可以各有五个一模一样的英雄,可以带给玩家不同的游戏体验,特别是有一些比较好玩的英雄,五个一起用就太强势了!在克隆模式中,虽然双方五个英雄名字都一样,但是,玩家又根据喜好及玩法不同可以给同一英雄佩戴不同的铭文、皮肤、召唤师技能等。本实例就是运用王者荣耀中的克隆模式来说明程序设计模...原创 2020-04-11 22:05:28 · 1226 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之生成器模式
·生成器模式在王者荣耀中的应用·一、简述在王者荣耀这款游戏中,玩家可以根据自己的喜好来调整页面布局,比如有的玩家觉得左侧出装顺手,而有的玩家则觉得右侧出装顺手;再比如说玩家在局内想要通过展开地图向队友发送信号时,有些玩家觉得地图左侧展开操作顺畅,而另外一些玩家觉得右侧展开操作顺畅。这些组件的页面布局亦可通过自定义来完成。所有的这些功能,达到了王者荣耀设计者让玩家能更好地体验游戏的初衷。...原创 2020-04-08 14:13:04 · 824 阅读 · 2 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之抽象工厂模式
·抽象工厂模式在王者荣耀中的应用·一、简述王者荣耀QQ端目前有325个区供玩家选择,玩家们可以使用一个QQ号在不同区中登录,而且每个区中的数据由玩家在此区中体验次数、时间的变化而变化。二、抽象工厂模式(Abstract Factory Pattern)抽象工厂模式理解:高度概括:提供一个创建一系列或相互依赖对象的接口,而无需指定它们具体的类。设计某些系统时,可能需要为用户提供一系...原创 2020-04-05 14:28:36 · 589 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之工厂方法模式
·工厂方法模式在王者荣耀中的应用·一、简述王者荣耀这款游戏目前一共有100位英雄,游戏设计师根据英雄技能、属性、天赋等因素,将英雄划分为射手、辅助、打野、法师、坦克、战士等职业。在本实例中,声明了坦克、法师、射手、刺客、战士、辅助等多个工厂子类,每个工厂生产相应职业的英雄。二、工厂方法模式(Factory Method Pattern)工厂方法模式的理解:高度概括:定义一个用于创...原创 2020-04-05 12:29:27 · 1372 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之中介者模式
·中介者模式在王者荣耀中的应用·应用一:使用中介者模式处理组件交互应用二:聊天室玩家需求信息互通应用三:代打代练代充服务平台一、简述应用一:使用中介者模式处理组件交互使用中介者模式频率较高的是和GUI有关的设计,在设计GUI程序时,即使组件不是很多,但是之间的交互也可能非常复杂,这时经常需要使用中介者模式来协调各个组件。与此类似,在王者荣耀中,当玩家的状态正处于组队中时,比如...原创 2020-03-28 13:16:49 · 1124 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之迭代器模式
·迭代器模式在王者荣耀中的应用·一、简述王者荣耀是一款允许多人组队的竞技游戏,在这种MOBA类游戏团队配合是最重要的,普遍玩家在排位中很多时候开黑上分相对比较容易,要比玩家单排上分强很多,于是许多玩家在王者荣耀大厅界面中,想要邀请好友一起玩游戏,这时玩家可以通过游戏列表查看QQ/微信好友的状态,以便判断是否邀请好友加入游戏。当好友在对局中时,玩家可以通过预约方式下把游戏一起玩;好友离线时...原创 2020-03-25 18:49:20 · 1878 阅读 · 0 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之外观模式
·外观模式在王者荣耀中的应用·一、简述王者荣耀是由腾讯游戏天美工作室群开发并运行的一款运营在Android、IOS、NS平台上的MOBA类手机游戏。玩家在想要玩这款游戏时,直接点击王者荣耀APP图标启动即可,系统会自动调用并不需要玩家分别启动界面、音乐、更新安装包等。无论在现实生活中还是在软件开发过程中,用户经常需要和多个对象打交道。如果不对这些对象通过一种方式组合,用户完成某项任务时...原创 2020-03-22 16:23:39 · 2584 阅读 · 1 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之责任链模式
·责任链模式在王者荣耀中的应用·一、简述在王者荣耀商城中,玩家可以参与夺宝抽奖。夺宝抽奖分两种,一种是积分抽奖,另一种是钻石抽奖;在平常,两种夺宝抽奖方式均可以通过60钻石/积分抽奖一次,或者通过270钻石/积分连续抽奖5次;其中,当钻石夺宝幸运值达到201时,可以获得稀有王者水晶,当积分夺宝幸运值达到361时,可以获得稀有荣耀水晶;玩家可以使用王者水晶或荣耀水晶换取特定的英雄、皮肤、装...原创 2020-03-21 17:34:16 · 20544 阅读 · 13 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之适配器模式
·适配器模式在王者荣耀中的应用·应用一:元歌通过傀儡假扮敌方的任意英雄应用二:王者荣耀iOS与安卓互通一、简述简单来讲,适配器模式就是通过一个适配器将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。在第一个应用中,我方英雄元歌通过一技能操纵傀儡,可以在本体状态使用秘术影来突进目标,使其傀儡随机变成敌方英雄的样子,进而在一定程...原创 2020-03-20 13:19:52 · 2007 阅读 · 1 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之策略模式
·策略模式在王者荣耀中的应用·应用一:【登录游戏前】选择通过何种方式登录游戏应用二:【游戏开始前】选择英雄及其召唤师技能应用三:【游戏开始后】选择使用普攻还是技能一、简述登录游戏前,玩家面临选择以QQ账号登录还是微信账号登录的问题,进一步来说,玩家还面临着去哪一个区玩的问题;玩家开始游戏前,面临着配合阵容选英雄及其召唤师技能的问题;进入游戏后,玩家会面临根据战况选择使用一二三技...原创 2020-03-18 18:02:30 · 2926 阅读 · 2 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之装饰模式
·装饰模式在王者荣耀中的应用·一、简述在王者荣耀这款游戏中,英雄在战场上高伤害、高爆发、高移速等是所有玩家共同追求的,那么这些所谓的伤害、移速、穿透力等英雄属性我们可以通过在局外对英雄附带皮肤、配置合适的铭文;以及在局内通过购买装备等多种形式为我们的英雄增加伤害、移速。像这种动态地对英雄额外增加皮肤、铭文、装备的方式提高伤害就可以通过“装饰模式”来实现。玩过王者荣耀的人都知道,司马懿...原创 2020-03-16 19:24:06 · 2562 阅读 · 1 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之观察者模式
·观察者模式在王者荣耀中的应用·一、简述王者荣耀是一款5v5的团队竞技游戏,在一局游戏当中,必要的系统提示有利于玩家对实时的战况有更好地把握。比如,当游戏开局时,系统会提示“敌军还有5秒到达战场,请做好准备”;当有英雄被击杀时或者敌我双方防御塔被摧毁时,我方队友和敌方收到的系统提示是不同的。于是,此类问题就可以用观察者模式很好的实现当防御塔被摧毁后敌我双方英雄分别收到不同的消息的结果。...原创 2020-03-15 19:46:11 · 1829 阅读 · 2 评论 -
在王者荣耀角度下分析面向对象程序设计B中23种设计模式之命令模式
命令模式在王者荣耀中的应用一、简述王者荣耀是一款5v5的团队竞技游戏,良好的团队信息交流可以让玩家更好地领略英雄竞技的酣畅淋漓!为了保证局内交流的有效性和快捷性,天美团队在制作游戏时,在小地图下边设置了三个“开始撤退”、“发起进攻”、“请求集合”按钮(如上图箭头所指)。二、命令模式命令模式理解:把操作写在类里面,作为函数调用它;调用者实现功能时只需调用Command抽象类...原创 2020-03-11 20:13:33 · 4014 阅读 · 1 评论