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

北京网站优化效果长沙做网站品牌

北京网站优化效果,长沙做网站品牌,网站做好是需要续费的吗,做网站月入策略模式&#xff08;Strategy Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一系列的算法&#xff0c;并将每个算法封装成独立的对象&#xff0c;使得它们可以互相替换。下面是一个使用C实现策略模式的示例&#xff1a; #include <iostream>// 抽象策略类…

策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列的算法,并将每个算法封装成独立的对象,使得它们可以互相替换。下面是一个使用C++实现策略模式的示例:

#include <iostream>// 抽象策略类
class Strategy
{
public:virtual void execute() = 0;
};// 具体策略类1
class ConcreteStrategy1 : public Strategy
{
public:void execute() override{std::cout << "Executing Concrete Strategy 1" << std::endl;}
};// 具体策略类2
class ConcreteStrategy2 : public Strategy
{
public:void execute() override{std::cout << "Executing Concrete Strategy 2" << std::endl;}
};// 上下文类
class Context
{
private:Strategy *strategy;public:Context(Strategy *strategy) : strategy(strategy) {}void setStrategy(Strategy *strategy){this->strategy = strategy;}void executeStrategy(){strategy->execute();}
};int main()
{Strategy *strategy1 = new ConcreteStrategy1();Strategy *strategy2 = new ConcreteStrategy2();Context context(strategy1);context.executeStrategy(); // 输出 "Executing Concrete Strategy 1"context.setStrategy(strategy2);context.executeStrategy(); // 输出 "Executing Concrete Strategy 2"delete strategy1;delete strategy2;return 0;
}

运行结果:

Executing Concrete Strategy 1
Executing Concrete Strategy 2

在上述示例中,我们首先定义了一个抽象策略类 Strategy,其中包含一个纯虚函数 execute()。然后,我们创建了两个具体策略类 ConcreteStrategy1 和 ConcreteStrategy2,它们分别实现了 execute() 函数。
接下来,我们定义了上下文类 Context,其中包含一个私有成员 strategy,用于保存当前的策略对象。Context 类中的 setStrategy() 函数用于设置当前策略,executeStrategy() 函数用于调用当前策略的 execute() 函数。
在 main() 函数中,我们首先创建了两个具体策略对象 strategy1 和 strategy2,然后创建了一个 Context 对象 context,并将 strategy1 设置为当前策略,最后调用 executeStrategy() 函数,输出的是 “Executing Concrete Strategy 1”。接着,我们将 strategy2 设置为当前策略,并再次调用 executeStrategy() 函数,输出的是 “Executing Concrete Strategy 2”。
这样,我们就实现了一个简单的策略模式。通过将算法封装成具体策略对象,并在上下文类中动态设置当前策略,我们可以根据需要切换不同的算法实现。这种方式使得算法的变化独立于使用算法的客户端,提高了代码的灵活性和可维护性。

http://www.yayakq.cn/news/563893/

相关文章:

  • 用空间做网站如何做好安全自己怎么设计公司logo
  • 哈尔滨百度网站快速优化自主设计和创建网站
  • 做网站用不用thinkphp大型展厅设计公司
  • 学校网站建设管理相关规定网站建设工资多少
  • 做网站效果怎么样wordpress 外贸 插件
  • 中国建设银行的网站色彩wordpress消耗性能吗
  • 国外网站 icp备案做最好的win7系统下载网站
  • 苏州集团网站设计企业免费商标设计软件
  • 吕梁建设机械网站怎样自己搭建网站
  • 西安的电商平台网站建设网站内链检查
  • 屏山县建设局网站商场网站方案
  • fview网站开发大型网站开发周期
  • 工作室项目网站重庆网站建设哪家好
  • delphi可以做网站吗王占山事迹
  • php做网站特效提高wordpress
  • 织梦网站首页幻灯片不显示中国采招网官方网站
  • 网页免费建站全国文明城市创建工作
  • 怎么样网站泛解析郑州网站建设多少钱
  • 域名注册和网站哪个好3d自学网站
  • 动力风网站建设及软件开发合同企业网站建设公司网络
  • 快速网站收录上海外贸推广建站
  • 团关系转接网站建设郑州专业网站制作的公司哪家好
  • 崔凯 本地wordpress中文网站站内优化怎么做
  • 全自动建站系统源码wordpress小机巧
  • wordpress 自动安装 插件东莞百度seo推广机构
  • 网站开发大致需要哪些步骤都市人才网莱芜
  • 深圳极速网站建设公司qq电脑版
  • 优惠做网站建设家具网站
  • 用户体验 网站 外国手机端网站思路
  • 南宁最高端网站建设网站建设方面