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

成都高端网站开发做搜狗网站优化排

成都高端网站开发,做搜狗网站优化排,高埗镇做网站,南宫网站建设目录 一、简介1. 含义2. 特点 二、实现1. 策略接口#xff08;Strategy Interface#xff09;2. 具体策略类#xff08;Concrete Strategies#xff09;3. 上下文类#xff08;Context#xff09;4. 使用策略模式 三、总结如果这篇文章对你有所帮助#xff0c;渴望获得你… 目录 一、简介1. 含义2. 特点 二、实现1. 策略接口Strategy Interface2. 具体策略类Concrete Strategies3. 上下文类Context4. 使用策略模式 三、总结如果这篇文章对你有所帮助渴望获得你的一个点赞 一、简介 1. 含义 策略模式Strategy Pattern是一种行为设计模式它定义了一系列算法将每个算法封装到不同的类中并且使它们可以相互替换。策略模式允许客户端代码选择算法的实现而不是将算法的选择硬编码在客户端代码中。 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.hkea.cn/news/14302529/

相关文章:

  • 网络购物商城网站建设肇庆市网站建设平台
  • 河南省建设工程网站兰州市住房保障和城乡建设局网站
  • 南昌有哪些企业网站做网站一个月30ip
  • google如何提交网站东丽做网站
  • dede手机医院网站模板wordpress 插件 活动
  • 成品电影网站建设专业建网站 优帮云
  • 建网站 就能开店在线支付的网站怎么做
  • 淘宝客如何免费做网站怎么自己免费创建网站
  • 定制网站和模板网站的区别网络舆情软件免费入口
  • 电商网站模块介绍网站商城开发
  • 永川网站制作联系电话网站前台模板 html
  • 清溪仿做网站精品网站做爆款
  • 网站建设公司华网天下买送活动最新国家大事新闻
  • 云服务器做网站镜像类型选啥微网站技术
  • 网站前端是做啥的建筑公司商标logo设计
  • 手机查看别人网站代码吗网站如何在百度上做推广
  • 建设网站全部流程企业展厅公司
  • 网站建设费属于广告费中文html5网站欣赏
  • 泰州做兼职的网站备案后的域名改网站名
  • 公司网站需求说明书推广手机卡返佣平台
  • 专门做图片是网站许昌做网站团队
  • 免费网页代理ip地址网站wix建站是免费的吗
  • win7 建设网站服务器关键词网络推广
  • 个体户可以备案网站吗html5网站建设方案
  • 建网站流程的费用建e网室内设计效果图门厅
  • 网站维护和推广方案怎样做自己可以发布消息的网站
  • 网站标题权重轻拟物WordPress主题
  • 网站虚拟交易技术怎么做o2o平台都有哪些网站公司
  • 怎么做网站的rss上海网络公司seo
  • 课程网站建设总体情况WordPress分页加载更多ajax