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

怎么制定网站互联网营销师课程

怎么制定网站,互联网营销师课程,政府网站集约化建设安全,网站编程代码链接:C 设计模式 链接:C 设计模式 - 模板方法 链接:C 设计模式 - 观察者模式 策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以…

链接:C++ 设计模式
链接:C++ 设计模式 - 模板方法
链接:C++ 设计模式 - 观察者模式

策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,并将每个算法封装起来,使它们可以相互替换。策略模式使得算法可以独立于使用它的客户端而变化。

1.问题分析

在开发中,经常会遇到需要在运行时选择不同算法或行为的情况。如果将这些算法直接嵌入到客户端代码中,会导致代码复杂且难以维护。策略模式通过将算法封装成独立的类,并通过接口进行调用,使得算法可以灵活地替换和扩展。

2.实现步骤

  1. 定义策略接口:定义一个接口,所有具体策略类都实现这个接口。
  2. 实现具体策略类:每个具体策略类实现策略接口,提供具体的算法实现。
  3. 上下文类:上下文类持有一个策略对象的引用,并通过策略接口调用具体的算法。

3.代码示例

以机器人的清洁任务作为示例。

3.1.策略接口

// 定义机器人任务的公共接口
class CleaningStrategy {public:virtual ~CleaningStrategy() = default;virtual void clean() = 0;
};

3.2.具体策略类

// 策略1,直线清洁
class LinearCleaningStrategy : public CleaningStrategy {public:void clean() override { std::cout << "Cleaning in a straight line." << std::endl; }
};
// 策略2,螺旋清洁
class SpiralCleaningStrategy : public CleaningStrategy {public:void clean() override { std::cout << "Cleaning in a spiral pattern." << std::endl; }
};

3.3.上下文类

// 维护一个对策略对象的引用
class CleaningRobot {public:void setStrategy(std::shared_ptr<CleaningStrategy> strategy) { this->strategy = strategy; }void performCleaning() {if (strategy) {strategy->clean();} else {std::cout << "No cleaning strategy set." << std::endl;}}private:std::shared_ptr<CleaningStrategy> strategy;
};

3.4.调用算法

int main() {// 创建一个清洁机器人对象CleaningRobot robot;// 设置直线清洁策略std::shared_ptr<CleaningStrategy> linearStrategy = std::make_shared<LinearCleaningStrategy>();robot.setStrategy(linearStrategy);robot.performCleaning();// 设置螺旋清洁策略std::shared_ptr<CleaningStrategy> spiralStrategy = std::make_shared<SpiralCleaningStrategy>();robot.setStrategy(spiralStrategy);robot.performCleaning();return 0;
}
http://www.hengruixuexiao.com/news/24512.html

相关文章:

  • 婚庆公司合同模板攀枝花网站seo
  • 学生个人博客网站模板网站排名首页前三位
  • 建设银行善融商务网站厦门网站综合优化贵吗
  • 手机网站设计尺寸长沙网动网络科技有限公司
  • 重庆专业微信网站制作微指数查询
  • 已有网站做app需要多少钱百度搜索一下
  • 麟游做网站北京百度总部
  • 免费网站建设 优帮云全渠道营销案例
  • 青岛建手机网站公司新东方考研培训机构官网
  • 莱芜二手房网站百度热词指数
  • 网站建设付款方式怎么把产品放到网上销售
  • 怎样制作网站建设规划图可以做产品推广的软件有哪些
  • good建筑网站关键词什么意思
  • 网站换域名怎么做网络推广费用一般多少
  • 上海建设安全协会官网搜狗seo软件
  • 成都网站设计哪家好机器人编程培训机构排名
  • 做钓鱼网站原理网站需要改进的地方
  • 国内做批发的网站有哪些seo入门培训教程
  • 建设网站虚拟主机在线工具
  • 重庆网站建设-首选云慧通wordpress建站
  • 电脑打开做的网站总显示404杭州seo 云优化科技
  • 主网站怎么做熊掌号优化万网域名注册官网阿里云
  • 广东网站建设智搜宝seo排名优化软件
  • 但是网站相关内容和程序并没有建设完_其次网站公司给我公司的谷歌账号
  • 建个网站的电话号码网站推广在线推广
  • 图片展示网站模板郑州seo排名优化
  • 做搜索引擎优化对网站有哪些好处推广关键词排名方法
  • 特性设计的网站西安关键词seo
  • wordpress实现下载功能青岛seo招聘
  • 最先进的无锡网站建设广告联盟代理平台