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

重庆网站建设方案详细方案wordpress去除评论

重庆网站建设方案详细方案,wordpress去除评论,视频网站建设 方案,环球购物官方网站动机(Motivation) 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。 如何在运…

动机(Motivation)

在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。
如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题?

模式定义

定义一系列算法,把它们一个个封装起来,并且使它们可互
相替换(变化)。该模式使得算法可独立于使用它的客户程
序(稳定)而变化(扩展,子类化)。

类图

在这里插入图片描述

代码示例

enum TaxBase {CN_Tax,US_Tax,DE_Tax,FR_Tax      
};class SalesOrder{TaxBase tax;
public:double CalculateTax(){//...if (tax == CN_Tax){//CN***********}else if (tax == US_Tax){//US***********}else if (tax == DE_Tax){//DE***********}else if (tax == FR_Tax){ 			//...}//....}};

如上述代码,根据不同国家的税法,选择不同的执行逻辑,充斥着很多的if else, 策略模式就是规避if else满天跑,使用策略模式后:


class TaxStrategy{
public:virtual double Calculate(const Context& context)=0;virtual ~TaxStrategy(){}
};class CNTax : public TaxStrategy{
public:virtual double Calculate(const Context& context){//***********}
};class USTax : public TaxStrategy{
public:virtual double Calculate(const Context& context){//***********}
};class DETax : public TaxStrategy{
public:virtual double Calculate(const Context& context){//***********}
};//*********************************
class FRTax : public TaxStrategy{
public:virtual double Calculate(const Context& context){//.........}
};class SalesOrder{
private:TaxStrategy* strategy;public:SalesOrder(StrategyFactory* strategyFactory){this->strategy = strategyFactory->NewStrategy();}~SalesOrder(){delete this->strategy;}public double CalculateTax(){//...Context context();double val = strategy->Calculate(context);//...}};

可以看到,所有的税法即策略,都被收拢到了一起,使用TaxStrategy基类指向需要的算法,当然选择哪一个TaxStratage依然是if else,如介绍里面说的,设计模式是将变化收集到笼子里关起来,不可能消灭变化。
如何真的消灭If else,可考虑打表,参考这篇文章:
https://developer.aliyun.com/article/1307318

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

相关文章:

  • 学做网站要会哪些网站内容建设的原则
  • 建立一个网店网站营销型网站建设哪里济南兴田德润优惠吗
  • 网站目标建设国际国内时事
  • 天元建设集团有限公司资质长沙seo优化排名推广
  • 网站建设终端是什么如何做制作头像的网站
  • wang域名 网站能帮忙做网站建设
  • l临沂互助系统网站开发张家港哪家做企业网站
  • 网站怎么建设高端公司山东网站备案网站
  • 网站建设课程设计心得网页制作东莞
  • 梁山做网站的公司瑞安地区建设网站
  • vue做的手机网站制作招聘海报的app
  • 网站建设首选建站系统应遵循哪些原则
  • 无锡的网站建设公司中国常州网官网
  • 网站泛解析wordpress是mvc架构吗
  • 怎么写网站文案音乐门户网站模板
  • wordpress创建企业网站建设部网站官网查询
  • 做网站工资年新多少在广东烟台网站建设策划方案
  • 潍坊网站建设 潍坊做网站网站制作加教程视频
  • 做笑话网站做网站的什么行业好出单
  • 东莞如何搭建网站建设知更鸟wordpress 怎样
  • 学校网站建设开发微网站备案
  • 分析不同网站的优缺点网站 dns 解析
  • 怎样做网站瑞昌网站建设
  • 扬中网站网站建设给帅哥做奴视频网站地址
  • 电子商务网站策划书2000字无备案网站 阿里联盟
  • 做网站卖专业卖文玩wordpress5.0代码执行
  • 全屏背景网站如何做到自适应wordpress博
  • 如何跟客户介绍网站建设和推广wordpress获取文章发布时间
  • 广东省建设合同备案网站西双版纳建设局网站
  • 网站开发用盗版犯法网站内容分享