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

网站开发 平面设计app拉新推广平台渠道

网站开发 平面设计,app拉新推广平台渠道,睢宁招标网官方,互联网推广招聘链接: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.hkea.cn/news/134900/

相关文章:

  • 咸阳做网站长沙网络营销外包哪家好
  • 专门做私人定制旅游的网站搜索引擎营销方法
  • 注册安全工程师管理系统网奇seo赚钱培训
  • 武汉市住房和城乡建设厅官方网站生猪价格今日猪价
  • 住房和城乡建设部网站诚信评价搜索引擎优化人员优化
  • 网站制作 太原网络营销专业课程
  • 做网站去哪个公司网络营销策划书的结构
  • 个人无网站怎样做cps广告深圳全网推广公司
  • 中国人可以做的c2c网站上海网站排名推广
  • 网站建设目标定位公司员工培训方案
  • 美工培训班学百度自然搜索排名优化
  • 网站建设自学多长时间搜索引擎营销的过程
  • 做cpa的网站源码seo的外链平台有哪些
  • 那个网站做外贸最好成都网站建设方案外包
  • 企业网站建设效益分析联合早报 即时消息
  • html5网页成品代码自媒体seo优化
  • 门户网站建设招投标网络seo啥意思
  • 游戏币销售网站建设百度热搜seo
  • 线上投票链接怎么做厦门搜索引擎优化
  • 网页设计课程主要内容seo学校
  • php 深圳 电子商务网站开发seo优化好做吗
  • 网站建设开发技术天津济南网站设计
  • 信息公开网站建设网店推广分为哪几种类型
  • 南皮网站建设价格seo搜索引擎优化方式
  • 网上购物系统的设计与实现论文长沙seo优化公司
  • 风景旅游网页制作素材seo推广灰色词
  • 网站制作网站建设网页设计页面
  • 网站开发兼容极速字体颜色推荐seo平台优化服务
  • wordpress建站流量齐三seo顾问
  • 怎么看一个网站做没做竞价公司网站怎么建立