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

厦门广告公司网站建设软文撰写

厦门广告公司网站建设,软文撰写,专业设计网站的公司,山西省吕梁市属于哪个市前言 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都写在对象中,将会使对象变得异常复杂;而且有时候支持不频繁使用的算法也是一个性能负担。 如何在运行时根据需要透明地更改对象的算…

前言

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

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

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

不好的做法:增加一个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.ahscrl.com/news/11837.html

相关文章:

  • 做网站干嘛今天最新新闻10条
  • 欧美独立站建站网站建设企业
  • 做网站fjfzwl制作网站推广
  • 万网可以花钱做网站百度统计app下载
  • 做食物的网站友情链接检测工具
  • wordpress 获取当前用户信息某网站seo诊断分析和优化方案
  • 企业网站设计开发天津搜索引擎优化
  • 电影网站怎么做关键词怎样建网站
  • 做电池网站的引导页东莞网站营销推广
  • wordpress 置顶字段悟空建站seo服务
  • 花都微网站建设凤凰网台湾资讯
  • 网站内容管理系统 下载百度爱采购怎么优化排名
  • 落地页网站网站设计公司模板
  • 建设小说网站用什么软件下载网络营销策划的概念
  • 怎么创网站数据库营销
  • 在线培训app免费外链网站seo发布
  • 国内外网站开发情况对比企业seo培训
  • 互诺 外贸网站建设广州网站快速排名
  • 为什么不能安装wordpressseo专员是干什么的
  • 数据库支持的网站怎么做百度在线识图查图片
  • 为什么很多网站在维护百度官方首页
  • windows2008 iis 网站百度手机助手下载2022官方正版
  • 泉州网站建设公司郴州网站seo
  • 网站建设 方案快优吧seo优化
  • b2b平台网站源码搜索关键词查询
  • 网站服务类型有哪些网络项目推广平台
  • js与asp.net做的网站宁波免费seo在线优化
  • 什么网站可以做私房菜外卖惠州搜索引擎优化
  • 企业名录搜索软件终身免费整站优化多少钱
  • 做万词霸屏后网站关键词没有排名2022年seo还值得做吗