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

佛山市seo推广优化seo可以从以下几个方面进行

佛山市seo推广,优化seo可以从以下几个方面进行,竞价广告推广,国外做鞋子的网站有哪些目录 一、简介1. 含义2. 特点 二、实现1. 策略接口(Strategy Interface)2. 具体策略类(Concrete Strategies)3. 上下文类(Context)4. 使用策略模式 三、总结如果这篇文章对你有所帮助,渴望获得你…

目录

  • 一、简介
    • 1. 含义
    • 2. 特点
  • 二、实现
    • 1. 策略接口(Strategy Interface)
    • 2. 具体策略类(Concrete Strategies)
    • 3. 上下文类(Context)
    • 4. 使用策略模式
  • 三、总结
    • 如果这篇文章对你有所帮助,渴望获得你的一个点赞!

一、简介

1. 含义

策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列算法,将每个算法封装到不同的类中,并且使它们可以相互替换。策略模式允许客户端代码选择算法的实现,而不是将算法的选择硬编码在客户端代码中。

2. 特点

  • 优点:
  1. 算法可以自由切换。
  2. 避免使用多重条件判断。
  3. 扩展性良好。
  • 缺点:
  1. 策略类会增多。
  2. 所有策略类都需要对外暴露。

二、实现

​ 策略模式中,首先定义一个抽象基类或接口,它代表着所有可能被应用的算法的共性。然后我们编写具体的子类实现这个接口,并实现各自的算法函数。最后,我们编写一个环境类或上下文类,该类持有一个指向抽象基类或接口类型的指针,客户端可以传递不同的具体算法对象给环境类或上下文类,从而动态地改变其行为。

以下是策略模式的关键组成部分:

1. 策略接口(Strategy Interface)

策略的抽象基类或者接口,该类定义了所有可能被应用的算法的共性。定义抽象的函数算法让继承的子类实现。

// 策略接口
class Strategy 
{
public:virtual void execute() const = 0;
};

2. 具体策略类(Concrete Strategies)

它们继承自 Strategy 类,并实现了各自的算法函数,即函数的具体功能的实现。

// 具体策略类 A
class ConcreteStrategyA : public Strategy 
{
public:void execute() const override {std::cout << "执行策略 A" << std::endl;}
};// 具体策略类 B
class ConcreteStrategyB : public Strategy 
{
public:void execute() const override {std::cout << "执行策略 B" << std::endl;}
};

3. 上下文类(Context)

维持一个对策略对象的引用,可以在运行时切换不同的策略。该类持有一个指向抽象基类或接口类型的指针,客户端可以传递不同的具体算法对象给环境类,从而动态地改变其行为(多态)。上下文类有一个executeStrategy()方法,该方法会调用持有的策略对象的 execute() 函数来执行具体算法。

// 上下文类
class Context 
{
private:Strategy* strategy;public:Context(Strategy* strategy) : strategy(strategy) {}void setStrategy(Strategy* newStrategy) {strategy = newStrategy;}void executeStrategy() const {strategy->execute();}
};

使用策略模式的主要优势在于,它允许在运行时选择算法,而不是在编译时进行硬编码。这使得系统更加灵活,易于扩展,同时也符合开闭原则。

4. 使用策略模式

main() 
{ConcreteStrategyA strategyA;ConcreteStrategyB strategyB;Context context(&strategyA);context.executeStrategy(); // 执行策略 Acontext.setStrategy(&strategyB);context.executeStrategy(); // 执行策略 Breturn 0;
}

上述例子中,Context 类可以在运行时切换不同的策略,而不需要修改客户端代码。这符合策略模式的核心思想。

三、总结

​ 策略模式是对象行为型模式 ,它关注行为和算法的封装 。其优势在于可以将算法的实现和使用分离,它定义一系列的算法,把每一个算法封装起来,并且使它们可相互替换。方便客户端动态地替换策略对象,并且可以避免使用多重条件语句来选择不同的算法实现。使得算法可独立于使用它的客户而变化。即可以通过直接调用基类的方式完成赋值。


如果这篇文章对你有所帮助,渴望获得你的一个点赞!

在这里插入图片描述

http://www.zhongyajixie.com/news/52254.html

相关文章:

  • 做视频网站需要天津seo诊断
  • 如何做好网站关键词优化广告平台推广渠道
  • 红旗网站建设重庆seo海洋qq
  • 住房城乡建设部门户网站烟气脱硫常用搜索引擎有哪些
  • 让别人做网站要注意什么6百度网盘网页版登录首页
  • 做网站有什么软件网站推广和优化系统
  • 新手做网站应该注意什么crm客户管理系统
  • 创建吃的网站怎么做百度登录账号首页
  • wordpress模板好用吗英文网站seo发展前景
  • 网站上那些轮播图视频怎么做的百度推广的优势
  • 济南网站建设企业百度建站多少钱
  • 手机网站建站教育模板下载手机网站制作教程
  • 宁都网站建设福州百度推广优化排名
  • wordpress 音乐服务器怎么优化网站排名
  • 苏州h5网站建设产品推广渠道有哪些方式
  • 房地产行业网站网络营销推广主要做什么
  • 一个网站怎么做软件好用投诉百度最有效的电话
  • 扶风高端企业网站建设近几天的新闻摘抄
  • b2c模式的电子商务网站有哪些网络营销产品推广方案
  • 怎样免费设计网站建设陕西网站建设制作
  • 网站建设公司哪家专业360地图怎么添加商户
  • 福州百度推广开户金华seo全网营销
  • 数字化校园门户网站建设方案今天全国疫情最新消息
  • 做自己的网站怎么赚钱免费的网络推广渠道
  • 经营性网站备案流程图企业网站营销优缺点
  • wordpress采集翻译插件seo关键词怎么选择
  • 什么是网站前置审批站长工具seo综合查询 分析
  • 网络营销内容定位抖音seo关键词排名技术
  • 模拟人生4做游戏下载网站海底捞口碑营销
  • 深圳网站制作首选灵点网络抖音关键词排名系统