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

网站建设案例单招网理查德西尔斯做的网站

网站建设案例单招网,理查德西尔斯做的网站,导视设计师,12315可以查询营业执照吗前言 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都写在对象中,将会使对象变得异常复杂;而且有时候支持不频繁使用的算法也是一个性能负担。 如何在运行时根据需要透明地更改对象的算…

前言

在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都写在对象中,将会使对象变得异常复杂;而且有时候支持不频繁使用的算法也是一个性能负担。

如何在运行时根据需要透明地更改对象的算法,将对象和算法解耦?

举例:不同国家税率的计算,新的需求是新增一个国家税率的计算。

不好的做法:增加一个if else

好的做法:定义一个新类(扩展),实现虚函数,以此来实现不同的税率计算。

策略模式的定义

定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。

策略模式结构

在这里插入图片描述

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){ //...}//....}};

遵循开闭原则:对扩展开放,对修改关闭。


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); //多态//...}};
http://www.yayakq.cn/news/640921/

相关文章:

  • 郑州网站制作费用ktv在那些网站做宣传效果好
  • 装饰网站建设软件下载百度提交网站改版
  • 龙华网网站大学网站 作风建设专题
  • 作文网站网址大全网站地图 百度
  • 做公众号首图网站四川网站建设公司
  • 网站建设比较好卡片式网站
  • 做网站的维护成本网站下拉箭头怎么做的
  • 学校网站设计及代码怎样把网站做成软件
  • 深圳网站建设服务哪家便宜网站建设是前端后端吗
  • 如何做网站的薪酬调查模板网站好还是定制网站好
  • 本地企业网站建设服务网站制作报价单模板
  • 阿里云自助建站河北省建设厅网站官网业务系统
  • 桂林哪里学建设网站wordpress如何修改博客模板
  • dede大气黑色网站源码seo管理
  • 网站开发报价明细wordpress免签支付插件
  • 网站移动端是什么情况无锡做智能网站
  • 九江建企业网站猎头做单的网站
  • 凡科网站建设平台好么图片wordpress博客
  • 狠狠做网站深圳需要做网站的公司有哪些
  • 做网站前北京网络广播电视台
  • 五合一网站建设方案wordpress 无法登录界面
  • 哪个网站可以做艺术字wordpress 图片延迟加载插件
  • 给企业做网站的公司福州网站建设推广
  • 网站群建设代理手机如何登入网站服务器
  • 网站管理助手4.0长沙企业网站建设报价
  • 河南省和城乡建设厅网站首页wordpress如何修改登录地址
  • 中英文 微信网站 怎么做怎么上传做 好的网站
  • 做棋牌网站建设哪家便宜网页制作三剑客是指哪三个软件
  • wordpress农业站模板行业网站策划方案
  • 做窗帘的效果图网站免费拥有自己的网站