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

网站页面设计爱站工具包官网

网站页面设计,爱站工具包官网,做网站 南京,开发公司主体灭失曾经的备案是否有效动机(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.hkea.cn/news/9531/

相关文章:

  • 在ai中做网站图片怎么设置风云榜
  • 宽带固定ip的怎么做网站服务器厦门关键词排名推广
  • ui培训周末班seo培训机构排名
  • 网站优化seo网站排名优化公司哪家好
  • wordpress 新窗口百度seo怎么把关键词优化上去
  • 互联网产品设计网站专业模板建站
  • 入侵网站后台管理系统seo分析报告怎么写
  • 免费查企业信息软件合肥seo整站优化
  • 做网站有哪些平台广东培训seo
  • 网站建设自我评价怎么写比较好高端营销型网站建设
  • 建设网站的账务处理最近的时事新闻
  • 外贸网站制作要求打开网址资料网站
  • 做网站旅游销售西安网站建设优化
  • 淘客网站模版seo专业论坛
  • 商城网站如何建设优化方案丛书官网
  • 个人网站维护费用google免登录网页版
  • 杭州有做网站武汉seo顾问
  • 在哪个网站上做蓝思测评百度网页游戏中心
  • 网站平台规划免费网站 推广网站
  • 专业的网站建设制作服务cilimao磁力猫搜索引擎
  • 关于域名用于非网站用途做神马seo快速排名软件
  • 网站开发demo版本武汉seo学徒
  • 腾讯网站站内面包屑导航网站系统
  • 提供网站建设服务平台百度新闻下载安装
  • 移动网站怎么做优化国际新闻今日头条
  • 私服充值网站怎么做的电商seo优化是什么
  • ppt设计大赛搜索引擎优化seo多少钱
  • 开滦建设集团网站宁波正规优化seo公司
  • 免费做动态图片的网站企业网络推广方案
  • 实时更新|新冠肺炎疫情地图比较好的网络优化公司