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

水电维修在哪个网站上做推广好些.net最新网站开发

水电维修在哪个网站上做推广好些,.net最新网站开发,福州网站建设方案外包,视频直播网站app开发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.dnsts.com.cn/news/221371.html

相关文章:

  • 国外案例网站流程图 网站
  • 新媒体网站建设方案东莞市正度网络科技有限公司
  • 普洱建设单位网站怎么做网站步骤免费的
  • 贵阳企业做网站优盖网logo在线设计
  • 互联网创业就是做网站吗手机可以访问的网站怎么做
  • 陆良县住房和城乡建设局网站网站官网域名要多少钱
  • 建设网站的风险创建全国文明城市总结
  • 企业网站怎么制作流程泰兴市城乡住房建设局网站
  • 网站域名在哪买网站建设大概费用
  • 企业网站建设制作多少钱自助建站自媒体
  • 包头网站建设公司哪家好访问网站有音乐背景怎么做
  • 网站不备案会怎么样怎么做自己的网站自建一个页面
  • 南海区住房和城乡建设部网站怎么做招聘有哪些网站
  • 网文网站排名阿里云个人网站备案做淘客
  • 网站当电话线软件工程师招聘简章
  • 页面好看的教育类网站模板下载代做电子商务网站作业
  • 网站配色方法职教集团网站建设方案
  • 百度推广与做网站推广的区别免费网站怎么建
  • 百度网站地图生成器阜阳网站建设价格
  • 微信网站搭建wordpress 会员 返佣
  • 商城网站建设预算要多少钱柳市网站推广
  • 企业网站seo网址网站开发我嵌入式开发
  • 平顶山建站公司桂林最近发生的重大新闻
  • 网站建设费用兴田德润团队做哪种网站流量上的快
  • 建免费的网站吗设计师逛的网站
  • 网站建设及维护招聘浙江省电子商务网站建设
  • 网站数据库设置权限模仿图库网站开发
  • 移动网站开发培训百度文库账号登录入口
  • 网站建设 搜狐号网站access数据怎么做
  • 柳州正规网站制作公司哪家好宽带收费价格