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

最经典最常用的网站推广方式门头设计一键生成免费

最经典最常用的网站推广方式,门头设计一键生成免费,做私人网站 违法,厦门高端模板建站策略模式 介绍示例示例测试运行结果应用场景优点总结 介绍 策略模式是一种行为设计模式。在策略模式中#xff0c;可以创建一些独立的类来封装不同的算法#xff0c;每一个类封装一个具体的算法#xff0c;每一个封装算法的类叫做策略(Strategy)#xff0c;为了保证这些策… 策略模式 介绍示例示例测试运行结果应用场景优点总结 介绍 策略模式是一种行为设计模式。在策略模式中可以创建一些独立的类来封装不同的算法每一个类封装一个具体的算法每一个封装算法的类叫做策略(Strategy)为了保证这些策略的一致性一般会用一个接口或者抽象类做统一的规定所有的策略类都需要遵守这个接口或者抽象类规定的行为。同时定义一个 Context 类来管理算法的使用通过参数将策略类传递给Context类运行时动态的决定调用那个具体的算法。 示例 有一个小组去参加比赛记分机制是取每组得分的最高分每组得分的最低分还有每组得分的平均分三种计分制下面使用策略模式实现这种记分机制。 #includeiostream #include vector #include algorithm //min_element() #include numeric //accumulate() class Score //得分 { public:virtual ~Score() default;virtual double getScore(vectorint ) 0; };class MaxScore :public Score //最高分数 { public:double getScore(vectorint vec)override {if (vec.empty()){return 0.0;}auto score std::max_element(vec.begin(), vec.end());return *score;} };class MinScore :public Score //最低分数 { public:double getScore(vectorint vec)override {if (vec.empty()){return 0.0;}auto minScore min_element(vec.begin(),vec.end());//algorithmreturn *minScore;} };class AverageScore :public Score //平均分数 { public:double getScore(vectorint vec)override{if (vec.empty()) {return 0.0;}double sum accumulate(vec.begin(),vec.end(),0.0);//numericreturn sum/vec.size();} };class Contenxt { public:Contenxt(const vectorint scores,Score *pScore) :m_pScore(pScore), m_scoreVec(scores){}void setScore(Score *pScore) {m_pScore pScore; }double finalScore(){return m_pScore-getScore(m_scoreVec);} private:Score *m_pScore;vectorint m_scoreVec; }; 示例测试 这里省去头文件 int main() {vectorint scores {2,3,6,2,7,4};Contenxt manager(scores,new MaxScore);double finalScore manager.finalScore();cout finalScore finalScore endl;manager.setScore(new MinScore);double minScore manager.finalScore();cout minscore minScore endl;manager.setScore(new AverageScore);double avgScore manager.finalScore();cout avgScore avgScore endl;return 0; }运行结果 应用场景 在某个系统中需要实现不同的算法并且这些算法可以互相替换。需要根据不同的条件在运行时动态地选择算法。算法的实现代码比较复杂需要将其封装起来使得代码更具可读性。 优点 避免使用过程中出现分支语句提高代码的可维护性和扩展性。 总结 策略模式实际上就是一种多态的应用。
http://www.w-s-a.com/news/282303/

相关文章:

  • 建个网站多少钱沭阳奥体小区做网站的
  • 广州视频网站建站公司php网页设计作业代码
  • 成都公司网站设计如何制作网址最简单的方法
  • 温州 做网站福建住房城乡建设部网站
  • 网站自动化采集成都网站设计费用
  • 广东专业网站定制建设淘宝网站的人员组织结构
  • 网站改版seo无锡有多少家公司
  • h5美食制作网站模板下载wordpress大学百度云
  • 零陵做网站建立网站的公司平台
  • 某企业电子商务网站建设网站开发实验结论
  • 自己做的网站突然打不开杭州哪些做网站公司好
  • 株洲专业建设网站免费cms内容管理系统
  • 网上建立网站赚钱网站建设方案书纯文字
  • 专业网站设计哪家好it外包合同模板
  • 个人网站备案都需要什么中小企业服务网
  • 佛山网站建设哪个在公司网站投简历该怎么做
  • 八戒网站做推广老域名全部失效请拿笔记好
  • iss服务器网站建设甘肃建设厅网站执业注册中心
  • 域名访问网站 过程网站 免费 托管运营
  • 下单的网站建设教程wordpress php7.1
  • 爱网站查询怎么做网站的图片跳转
  • 阿里云建站百度收录吗北京的设计公司排名
  • 网站制作方案包含哪些内容布吉网站建设方案
  • 吉林省建设安全信息网站宜宾市建设工程质量监督站网站
  • 镇江网站建设远航网络帝国cms 网站地图 自定义
  • 金融网站模板源代码net网站是国际域名吗
  • 北京高端网站建设价格企业网络托管公司
  • 规范门户网站建设没有网站可以做域名解析吗
  • pc 手机网站源码织梦网站修改教程视频教程
  • 江苏省建设厅副厅长网站济南网络建站模板