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

保山 网站建设商城购物网站开发背景

保山 网站建设,商城购物网站开发背景,企业邮箱的个人邮箱,做淘宝客网站用什么程序好作者#xff1a;翟天保Steven 版权声明#xff1a;著作权归作者所有#xff0c;商业转载请联系作者获得授权#xff0c;非商业转载请注明出处 一、策略模式是什么#xff1f; 策略模式是一种行为型的软件设计模式#xff0c;针对某个行为#xff0c;在不同的应用场景下翟天保Steven 版权声明著作权归作者所有商业转载请联系作者获得授权非商业转载请注明出处 一、策略模式是什么 策略模式是一种行为型的软件设计模式针对某个行为在不同的应用场景下有不同的实现算法并且可以互相替换。比如两军交战军队会采用不同的阵法、策略、兵法应对不同的战况。 策略模式的优点 便于管理算法族。一套策略对应一套算法该模式可以很好地进行维护和管理。避免使用多重条件语句如if else和switch。庞大的系统中过多的多重条件语句会让代码显得臃肿和不易维护提高出错概率。封装算法。提高了算法的保密性和安全性。符合开闭原则。策略模式的缺点 客户端需要了解每种策略并自行决定何时何地使用何种策略。随着策略增多策略类数量增加要注意对类的维护。二、策略模式 2.1 结构图 客户端即Main主函数根据不同场景选用不同策略。 2.2 代码示例 场景描述我有一支军队先让其使用火攻震慑对方再用离间策反敌人。 //Strategy.h /****************************************************/ #pragma once #include iostream #include unordered_map #include vector #include listusing namespace std;// 策略类型 enum WARCRAFT_TYPE {FIREATTACK, // 火攻SOWDISCORD, // 离间 };// 定义策略接口-兵法 class Warcraft { public:// 执行virtual void execute() 0; };// 实现具体策略类-火攻 class FireAttack : public Warcraft { public:// 执行virtual void execute() {cout 执行火攻 endl;} };// 实现具体策略类-离间 class SowDiscord : public Warcraft { public:// 执行virtual void execute() {cout 执行离间 endl;} };// 背景类-军队 class Army { public:// 构造函数Army(WARCRAFT_TYPE type){setWarcraft(type);}// 析构函数~Army() {if(m_warcraft) {delete m_warcraft;m_warcraft nullptr;}}// 设置策略void setWarcraft(WARCRAFT_TYPE type) {// 清空旧策略if (m_warcraft) {delete m_warcraft;m_warcraft nullptr;}// 使用新策略switch (type){case FIREATTACK:m_warcraft new FireAttack();break;case SOWDISCORD:m_warcraft new SowDiscord();break;default:cout 没有该策略。 endl;break;}}// 执行兵法void executeWarcraft() {cout 准备 endl;m_warcraft-execute();cout 结束 endl;}private:Warcraft* m_warcraft; }; //main.cpp /****************************************************/ #include iostream #include string #include Strategy.husing namespace std;int main() {Army *army new Army(FIREATTACK);army-executeWarcraft();army-setWarcraft(SOWDISCORD);army-executeWarcraft();delete army;army nullptr;return 0; } 程序结果如下。 策略模式的实现有很多种我是采用了枚举的形式将具体策略的创建放在了环境类中类中new别忘了delete也可以在客户端创建策略再将策略指针传入环境类。 三、总结 我尽可能用较通俗的话语和直观的代码例程来表述我对策略模式的理解或许有考虑不周到的地方如果你有不同看法欢迎评论区交流希望我举的例子能帮助你更好地理解策略模式。 如果文章帮助到你了可以点个赞让我知道我会很快乐~加油
http://www.dnsts.com.cn/news/128825.html

相关文章:

  • 网站建设备案查询广州做企业网站
  • 网站营销与推广中国石化工程建设有限公司怎么样
  • 网站公司谁跟客户客户沟通开发手机应用网站
  • 网站框架代码建设银行网上流览网站
  • 保定市网站设计网站建设的方式有哪些内容
  • 网站开发网上教学百度网站怎么做
  • 网站建设公司高端wordpress仿站教程+vip
  • 做网站高亮手机网站建设哪家优惠
  • 网站建设 logo百度统计app
  • 部门网站建设方案广州网站制作培训
  • 建网站在哪里做广告网站子页面怎么做
  • 邮箱的官方网站注册热词分析工具
  • 网站开发出来为什么加载特别慢WordPress 有趣插件
  • 自己做网站运营ppt设计教程网
  • 网站上做网上支付功能别墅花园装修设计公司
  • 广东购物网站建设价格搜索引擎不友好的网站特征
  • 定制网站开发哪家好网站注册主机
  • 丽江网站设计公司网站建设的实验步骤
  • 联盟网站徐州云建站模板
  • 如何更改网站源码快速搭建网站服务器
  • 可以做淘宝推广的网站吗模板支架图片
  • 桂平网站制作wordpress 菜单链接
  • 全国建设部网站证书查询怎么做网站编辑
  • php+ajax网站开发典型实例 pdf一刻相册有多少免费空间
  • 推广网站平台有哪些wordpress 书店
  • 老外做摄影网站花多少钱做黄页网站要告我
  • 做网站的风险网站建设公司选择标准
  • 上海制作网站开发wordpress相关文章
  • 网站开发必备技能酒吧网站模板
  • 教育培训网站关于做网站的书籍