当前位置: 首页 > news >正文

深圳做网站的给说沈阳网站建设哪家做得好

深圳做网站的给说,沈阳网站建设哪家做得好,做网站报价公司,做网站小图片分类1、模式标准 模式名称#xff1a;责任链模式 模式分类#xff1a;行为型 模式意图#xff1a;使多个对象都有机会处理请求#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链#xff0c;并沿着这条链传递该请求#xff0c;直到有一个对象处…1、模式标准 模式名称责任链模式 模式分类行为型 模式意图使多个对象都有机会处理请求从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链并沿着这条链传递该请求直到有一个对象处理它为止。 结构图 适用于 1、有多个的对象可以处理一个请求哪个对象处理该请求运行时刻自动确定。 2、想在不明确指定接收者的情况下向多个对象中的一个提交一个请求。 3、可处理一个请求的对象集合应被动态指定  2、分析与设计 前面我们了解了命令模式命令是谁发出的呢这里引出的责任链模式巧好可以用上。将一次请技能释放求通过一串责任(命令)链接起来不同责任(命令)做出不同的技能释放命令。我们假设场上有5个敌对单位时ai单位释放小技能有小于10个大于5个敌对单位时ai单位释放中技能有10个以上敌对单位时ai单位释放大技能。 意图使多个对象(命令)都有机会处理(技能释放)请求从而避免(技能释放)请求的发送者和接收者之间的耦合关系。将这些对象(命令)连成一条链并沿着这条链传递该(技能释放)请求直到有一个对象(命令)处理它为止。 3、开始打造 技能触发基类 export interface ITrigger {nextTrigger: ITriggercommand: ICommandsetNextTrigger(trigger: ITrigger): voidentryTrigger(param: any): voidcanTrigger(param: any): boolean }export abstract class SkillTrigger implements ITrigger {nextTrigger: ITriggercommand: ICommandsetNextTrigger(trigger: ITrigger): void {this.nextTrigger trigger;}setCommand(command: ICommand): void {this.command command;}entryTrigger(skillTriggerRequest: ISkillTriggerRequest): void {console.log(entryTrigger, skillTriggerRequest, this)if (this.canTrigger(skillTriggerRequest)) {if (this.command) {this.command.execute();}} else if (this.nextTrigger) {this.nextTrigger.entryTrigger(skillTriggerRequest);} else {console.log(无其他触发器);}}abstract canTrigger(skillTriggerRequest: ISkillTriggerRequest): boolean; }小技能中技能大技能 // 小技能触发器 export class SmallSkillTrigger extends SkillTrigger {canTrigger(skillTriggerRequest: ISkillTriggerRequest): boolean {return skillTriggerRequest.enemyCount 5; // 敌对单位数量小于5时释放小技能} }// 中技能触发器 export class MediumSkillTrigger extends SkillTrigger {canTrigger(skillTriggerRequest: ISkillTriggerRequest): boolean {return skillTriggerRequest.enemyCount 5 skillTriggerRequest.enemyCount 10; // 敌对单位数量在5到10之间时释放中技能} }// 大技能触发器 export class LargeSkillTrigger extends SkillTrigger {canTrigger(skillTriggerRequest: ISkillTriggerRequest): boolean {return skillTriggerRequest.enemyCount 10; // 敌对单位数量大于等于10时释放大技能} }技能命令 // 具体技能命令类 - 小技能 export class SmallSkillCommand implements ICommand {execute(): void {console.log(释放小技能);} }// 具体技能命令类 - 中技能 export class MediumSkillCommand implements ICommand {execute(): void {console.log(释放中技能);} }// 具体技能命令类 - 大技能 export class LargeSkillCommand implements ICommand {execute(): void {console.log(释放大技能);} }4、开始使用 // 创建责任链 const smallSkillTrigger new SmallSkillTrigger(); const mediumSkillTrigger new MediumSkillTrigger(); const largeSkillTrigger new LargeSkillTrigger();// 创建命令 const smallSkillCommand new SmallSkillCommand(); const mediumSkillCommand new MediumSkillCommand(); const largeSkillCommand new LargeSkillCommand();// 设置触发器的命令 smallSkillTrigger.setCommand(smallSkillCommand); mediumSkillTrigger.setCommand(mediumSkillCommand); largeSkillTrigger.setCommand(largeSkillCommand);smallSkillTrigger.setNextTrigger(mediumSkillTrigger); mediumSkillTrigger.setNextTrigger(largeSkillTrigger);let param {enemyCount: 8 } smallSkillTrigger.entryTrigger(param); // 输出 // 释放中技能
http://www.hkea.cn/news/14319068/

相关文章:

  • 智能锁东莞网站建设一个官网
  • 河南网站建设yijuce标智客在线logo设计生成器免费
  • 网页设计与网站建设的课后习题答案网站分析的数据来源有哪些
  • 玉树市wap网站建设公司凡诺企业网站管理系统
  • 响应式网站的建设东营优化路网
  • 北京手机网站广告招商
  • 励志网站织梦源码东莞清溪网站制作
  • 俄文网站商城建设加强网站信息内容建设管理
  • 宣城高端网站建设猪八戒托管赏金做网站
  • 做外贸网站用哪些小语种网站空间如何使用
  • 网络网站知识app手机网站建设图片
  • 吴川网站建设重庆网站建设制作
  • 小域名 网站备案做内部网站费用
  • 网站建设千套素材制作一个网站并上传访问
  • 给别人做网站需要增值电信做html的简单网站
  • 四川成都网站网页设计wordpress升级无法创建目录
  • 外贸网站高端定做广东建设项目备案公示网站
  • 深圳企业网站建设服务中心wordpress 国内 主题
  • 网站可以不备案石家庄网络关键词排名
  • 做网站分什么酒店移动网站建设方案
  • 本地江苏网站建设如何做网站轮播图和菜单全屏
  • 仿站是什么企业网站建设的四大因素
  • 如何自己做直播网站长沙楼市最新消息
  • 掌网站开发的基本流程旅游网站建设ppt
  • 网页与网站设计实验报告遵义在线论坛
  • 著名网站建设公司资阳网站建设
  • 网站后台怎么修改代码wordpress 群
  • 网站哪里做达州网站建设yufanse
  • 吕梁网站制作吕梁安全网站360全景图怎么做
  • 深圳网站优讳化做网站的用什么电脑好