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

广西工程建设质量管理协会网站做响应式网站需要学哪些知识

广西工程建设质量管理协会网站,做响应式网站需要学哪些知识,怎样学做网站运营,wordpress单页主题目录 总结部分#xff1a;策略模式的优点部分代码部分 总结部分#xff1a; 策略模式和简单工厂模式很像 区别在于 简单工厂模式 需求的是由工程创造的类 去给客户直接答案 而策略模式在于 我有主体 一个主体 根据策略的不同来进行不同的计算 我的主体就负责收钱 然后调度相… 目录 总结部分策略模式的优点部分代码部分 总结部分 策略模式和简单工厂模式很像 区别在于 简单工厂模式 需求的是由工程创造的类 去给客户直接答案 而策略模式在于 我有主体 一个主体 根据策略的不同来进行不同的计算 我的主体就负责收钱 然后调度相关策略。 策略模式的优点部分 策略模式 是一种定义一系列算法的方法。从概念上来讲 这些算法都是在完成相同的业务工作只是实现不一样它可以以相同的方式调用所有的算法减少了各种算法类与使用算法之间的耦合策略模式 的Strategy类层次为Context定义了一系列可供重用的算法和行为。继承有助于 析取出这些算法的公共功能策略模式简化了单元测试 每个算法都有自己的类 可以通过自己的接口单元测试 代码部分 #includeiostream #include memory #include vector #include algorithm using namespace std;enum class StrategyType {NORMAL,DISCOUNT,REBATE }; //策略类 是商品所有销售方式的基类 class Strategy { public:virtual double GetResult(double TotalMoney) 0; //纯虚基类 强迫子类去实现 }; //打折类 公有集成策略类 class DiscountStrategy:public Strategy{ public:DiscountStrategy(double percent) {DiscountPercent percent;}double GetResult(double TotalMoney)override{double PayMoney DiscountPercent * TotalMoney;return PayMoney;} private:double DiscountPercent; //折扣的百分比 }; //原价类策略 class NormalStrategy :public Strategy { public:NormalStrategy() {}double GetResult(double TotalMoney)override{return TotalMoney;} }; //满返策略 class RebateStrategy :public Strategy { public:RebateStrategy() {res {{300,80} //表示满300 减 80 后续可以直接在下面加 最好从数组第一位从贵的往便宜的写};}double GetResult(double TotalMoney)override{double PayMoney 0;int n res.size();for (int i 0; i n; i){if(TotalMoney res[i][0]){ PayMoney TotalMoney - res[i][1];break;}}return PayMoney;} private://此处的满减 可以自己写一下满多少减多少的策略 用vector二维数组保存策略 简化只写两个vectorvectorint res; }; class CommodityContext { public:std::unique_ptrStrategy strategy;CommodityContext() : strategy(nullptr) {}void SetStrategy(StrategyType type){switch (type) {case StrategyType::NORMAL:strategy std::make_uniqueNormalStrategy();break;case StrategyType::DISCOUNT:strategy std::make_uniqueDiscountStrategy(0.8);break;case StrategyType::REBATE:strategy std::make_uniqueRebateStrategy();break;default:throw std::runtime_error(No Such Strategy);}}double CalculatePayment(double totalMoney) {if (!strategy) {throw std::runtime_error(Strategy not set);}return strategy-GetResult(totalMoney);}};int main() {try {CommodityContext mycontext;mycontext.SetStrategy(StrategyType::REBATE);double paymoney mycontext.CalculatePayment(999.9);std::cout 付钱 paymoney std::endl;}catch (exception e){cout error : e.what();} }
http://www.w-s-a.com/news/543475/

相关文章:

  • 技术支持 骏域网站建设专家佛山网站运营管理教材
  • 个体营业执照可以做网站服务吗电商运营学校培训
  • 企业网站免费推广的方法.wordpress 爱情模板下载地址
  • 轻淘客 轻网站怎么做手机开发人员选项怎么打开
  • 天津做网站制作公司html网站 下载
  • 哪个网站的课件做的好crm客户管理系统全称
  • 网站建设工作室创业计划书seo是什么职位的简称
  • o2o平台网站开发什么是白帽seo
  • 免费建个人手机网站WordPress 简历库
  • 建网站 是否 数据库阳瘘的最佳治疗方法是什么
  • 知晓程序网站怎么做网站基础维护
  • 兼职做网站赚钱吗图片设计制作哪个软件好手机
  • 做手机旅游网站智慧校园登录入口
  • 莆田网站建设维护国外极简网站
  • 百度怎样收录网站缪斯设计集团
  • 网站建设在开封找谁做wordpress 数据转换
  • 旅游网站开发的流程江苏付费网络推广培训
  • 网站软文标题2018wordpress主题
  • 德清网站设计wordpress免登录发布接
  • 可以做游戏的网站有哪些客户关系管理系统的主要功能
  • 整人关不掉的网站怎么做广东省网站免备案表
  • 网站设计素材edu域名网站
  • 中山学校的网站建设wordpress文章图片显示不出
  • 兰溪城市建设规划网站网站联盟的基本流程
  • 免费推广网站注册入口小说阅读网站怎么建设
  • 新网站怎么做网络推广怎么做企业网站排名
  • jsp商业网站开发网站链接如何做二维码
  • 江苏高校品牌专业建设网站怎么制作网站搜索窗口
  • 北京app建设 网站开发公司织梦网站seo
  • 大学网站 作风建设专题汽车配件外贸出口公司