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

网站开发制作合同品牌推广

网站开发制作合同,品牌推广,提供网站建设,wordpress 目录菜单策略模式 1.策略接口 定义一组算法或操作的通用接口,通常是一个抽象类或接口。该接口声明了策略类所必须实现的方法。 示例: class Strategy {doOperation() {} }2.具体策略 实现策略接口,提供具体的算法实现。每个具体策略类负责处理一…

策略模式

1.策略接口

定义一组算法或操作的通用接口,通常是一个抽象类或接口。该接口声明了策略类所必须实现的方法。

示例:

class Strategy {doOperation() {}
}
2.具体策略

实现策略接口,提供具体的算法实现。每个具体策略类负责处理一种特定的情况或算法。它包含了实际的业务逻辑。

示例:

class ConcreteStrategyA extends Strategy {doOperation() {// 具体的算法实现}
}class ConcreteStrategyB extends Strategy {doOperation() {// 具体的算法实现}
}
3.上下文

维持一个对策略对象的引用,负责将客户端的请求委派给具体的策略。上下文通常会包含一个接口,使得客户端可以动态地切换策略。

示例:

class Context {constructor(strategy) {this.strategy = strategy;}setStrategy(strategy) {this.strategy = strategy;}executeStrategy() {this.strategy.doOperation();}
}
分数等级的案例:

假设我们有一个评分系统,根据用户的得分将其分为不同的等级。我们可以使用策略模式来实现这个例子,根据用户得分的不同区间采用不同的评级策略。以下是一个简单的JavaScript实现:

// 策略接口
class GradeStrategy {getGrade(score) {}
}// 具体策略 - 优秀
class ExcellentGradeStrategy extends GradeStrategy {getGrade(score) {if (score >= 90 && score <= 100) {return '优秀';}return null; // 不在该策略范围内返回null}
}// 具体策略 - 良好
class GoodGradeStrategy extends GradeStrategy {getGrade(score) {if (score >= 80 && score < 90) {return '良好';}return null;}
}// 具体策略 - 及格
class PassGradeStrategy extends GradeStrategy {getGrade(score) {if (score >= 60 && score < 80) {return '及格';}return null;}
}// 上下文
class ScoreContext {constructor() {this.strategies = [];}addStrategy(strategy) {this.strategies.push(strategy);}getGrade(score) {for (const strategy of this.strategies) {const grade = strategy.getGrade(score);if (grade) {return grade;}}return '不及格'; // 默认策略}
}// 使用策略模式
const context = new ScoreContext();const excellentStrategy = new ExcellentGradeStrategy();
const goodStrategy = new GoodGradeStrategy();
const passStrategy = new PassGradeStrategy();context.addStrategy(excellentStrategy);
context.addStrategy(goodStrategy);
context.addStrategy(passStrategy);console.log(context.getGrade(95)); // 输出: 优秀
console.log(context.getGrade(85)); // 输出: 良好
console.log(context.getGrade(70)); // 输出: 及格
console.log(context.getGrade(55)); // 输出: 不及格
http://www.hrbkazy.com/news/42632.html

相关文章:

  • 智能建站工具得物app的网络营销分析论文
  • 如何搭建https网站广告联盟全自动赚钱系统
  • 网站交换链接怎么做?微信公众号的推广
  • 网站风格分析怎么写网络服务有限公司
  • 网站设计需求分析报告口碑营销
  • 做动态网站需要学什么百度一下移动版首页
  • 如何分析竞争对手的网站如何网络营销自己的产品
  • 建设招聘网站需要哪些资质百度的网页地址
  • 布局网站开发2022最新引流推广平台
  • 做电影网站的程序seo网络推广企业
  • 河北省建设工程大连网站seo
  • 成都网站建设 四川冠辰网站建设网站百度关键词排名软件
  • 校园网站建设方案策划书百度网址大全在哪里找
  • 做本地房产网站seo点击排名
  • 内蒙古创意星空网站开发做广告推广哪个平台好
  • 网站建设方案流程百度提交网站收录入口
  • 新网站怎么做权重济宁百度竞价推广
  • 网站建设服务郑州seo排名公司
  • 东莞网站设计服务有哪些搜索引擎网站
  • 做网站宜宾简单网页制作模板
  • 电商导购网站怎么做网络营销软件条件
  • wordpress如何压缩图片seo内部优化包括哪些内容
  • cms 网站建设百度公司电话热线电话
  • 做网站是com好还是cn好今天新闻
  • 网站建设后续的费用近期发生的重大新闻
  • 北仑网站建设培训学校seo排名快速
  • 北京网站建设网南京网络营销服务
  • 网站推广软件ky99网络推广工具和方法
  • 子商务网站建设的一般流程广告联盟推广
  • 建立自己的个人网站广州网站推广