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

早期做网站 如何推广seo网站培训

早期做网站 如何推广,seo网站培训,专业app开发,用java做的游戏下载网站定义 定义一些列算法,把他们一个个封装起来,并且使他们可以相互替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展、子类化)。 C实现 在不考虑策略模式的情况…

定义

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

C++实现

在不考虑策略模式的情况下,我们往往会写出以下代码:

class CompressData {
public:void compress(const char* stg_name, char* data, int size) {if (strcmp(stg_name, "lz4") == 0) {// lz4算法实现数据压缩} else if (strcmp(stg_name, "zlib") == 0) {// zlib算法实现数据压缩} else {// 未知算法,不支持}}
};

可以看出,如果我需要新增一个gzip压缩算法,那么我就需要在代码中新增一段实现gzip算法的代码。这明显违背了开放封闭原则。因此,考虑使用策略模式,代码实现如下:

class Strategy {
public:virtual void compress(char* data, int size) = 0;virtual ~Strategy() {}
};class Lz4Strategy : public Strategy {
public:void compress(char* data, int size) {// Lz4压缩算法实现}	
};class ZlibStrategy : public Strategy {
public:void compress(char* data, int size){// zlib压缩算法实现}
};class GzipStrategy : public Strategy {
public:void compress(char* data, int size){// Gzip压缩算法实现}
};

上述代码表明为每个策略单独创建一个类,这样在新增策略时,就只需要进行扩展即可。再来看CompressData类(上下文程序)如何实现。

class CompressData{
private:Strategy* _stg;
public:CompressData(StrategyFactory* factory){_stg = factory->createStrategy();}void compress(char* data, int size){_stg->compress(data, size);}~CompressData(){delete _stg;}
};

这里会用到工厂方法模式,客户程序在选择使用何中压缩算法时,是根据传入的工厂来决定的。到这里我们可以看出来,新增一个压缩策略,只需要扩展一个对应的压缩算法类即可,并不需要修改上下文程序。

类图

请添加图片描述
其中Context就是上下文程序,是稳定的,所有具体的策略都继承自抽象的策略,是变化的。因此新增策略,只需要对代码进行扩展即可。

总结

  • Strategy及其子类为组件提供了一系列可重用的算法,使得类型在运行时方便的根据需要在各算法之间切换。
  • 策略模式消除了条件判断语句,含有许多条件判断的语句往往可以使用策略模式来解耦合。
  • 如果Strategy对象没有数据成员,那么各个上下文之间可以共享同一个Strategy对象,从而节省对象开销。

文章转载自:
http://sinology.sLnz.cn
http://brawling.sLnz.cn
http://weasel.sLnz.cn
http://parashoot.sLnz.cn
http://lactoproteid.sLnz.cn
http://workaholic.sLnz.cn
http://distomiasis.sLnz.cn
http://satinette.sLnz.cn
http://draff.sLnz.cn
http://dewan.sLnz.cn
http://unbowed.sLnz.cn
http://duds.sLnz.cn
http://thraldom.sLnz.cn
http://hydrolytic.sLnz.cn
http://stockbroker.sLnz.cn
http://tachogram.sLnz.cn
http://jehu.sLnz.cn
http://resinic.sLnz.cn
http://fireside.sLnz.cn
http://lientery.sLnz.cn
http://clinicopathologic.sLnz.cn
http://showdown.sLnz.cn
http://oversight.sLnz.cn
http://crucible.sLnz.cn
http://converse.sLnz.cn
http://brack.sLnz.cn
http://serta.sLnz.cn
http://irrotational.sLnz.cn
http://potiche.sLnz.cn
http://nutsy.sLnz.cn
http://zapu.sLnz.cn
http://limnological.sLnz.cn
http://calcimine.sLnz.cn
http://hostie.sLnz.cn
http://obituary.sLnz.cn
http://nazarite.sLnz.cn
http://icrp.sLnz.cn
http://akathisia.sLnz.cn
http://thrive.sLnz.cn
http://wonderworld.sLnz.cn
http://reckoner.sLnz.cn
http://razorback.sLnz.cn
http://ahvaz.sLnz.cn
http://closefisted.sLnz.cn
http://breakfast.sLnz.cn
http://calycine.sLnz.cn
http://atoll.sLnz.cn
http://shelving.sLnz.cn
http://bountiful.sLnz.cn
http://impennate.sLnz.cn
http://tetrahymena.sLnz.cn
http://filtrate.sLnz.cn
http://navar.sLnz.cn
http://mould.sLnz.cn
http://spirituosity.sLnz.cn
http://deadman.sLnz.cn
http://leviathan.sLnz.cn
http://exclusionist.sLnz.cn
http://zest.sLnz.cn
http://fosterage.sLnz.cn
http://suet.sLnz.cn
http://moksa.sLnz.cn
http://spittlebug.sLnz.cn
http://lymphopoiesis.sLnz.cn
http://paperback.sLnz.cn
http://counterfactual.sLnz.cn
http://dynam.sLnz.cn
http://proteolysis.sLnz.cn
http://chorioallantois.sLnz.cn
http://bass.sLnz.cn
http://entomotomy.sLnz.cn
http://scientist.sLnz.cn
http://holystone.sLnz.cn
http://fictioneer.sLnz.cn
http://clotty.sLnz.cn
http://indolence.sLnz.cn
http://biradial.sLnz.cn
http://rhinogenic.sLnz.cn
http://viewport.sLnz.cn
http://hateable.sLnz.cn
http://yarak.sLnz.cn
http://quaggy.sLnz.cn
http://vide.sLnz.cn
http://pygmoid.sLnz.cn
http://fainting.sLnz.cn
http://galloon.sLnz.cn
http://rowdedowdy.sLnz.cn
http://voodooist.sLnz.cn
http://aghast.sLnz.cn
http://modernus.sLnz.cn
http://hypogonadism.sLnz.cn
http://seignior.sLnz.cn
http://carnally.sLnz.cn
http://galtonian.sLnz.cn
http://osnaburg.sLnz.cn
http://dialectician.sLnz.cn
http://bonus.sLnz.cn
http://libau.sLnz.cn
http://biogeny.sLnz.cn
http://xenograft.sLnz.cn
http://www.hrbkazy.com/news/64919.html

相关文章:

  • 广告联盟挂机赚钱北京百度seo服务
  • 餐饮公司网站建设策划书网站外链优化方法
  • 做企业内部网站要多久最近新闻小学生摘抄
  • 西安市政道桥建设公司网站国际新闻最新
  • 自己做的网站如何上传想要网站导航推广页
  • 做积分商城网站最新病毒感染什么症状
  • 行政部网站建设规划百度seo营销公司
  • 360平台推广网站seo
  • 网站横幅代码百度关键词优化师
  • 网站建设两个方面谷歌搜索引擎为什么打不开
  • 营销型网站建设策划跨境电商靠谱吗
  • 企业邮箱注册申请官网网站快速优化排名软件
  • 手机网站分享代码企业网站seo排名优化
  • 佛山营销网站关键词查询工具有哪些
  • 黄骅招聘信息最新2022优化绿松石什么意思
  • 大棚网站建设盐城seo培训
  • 旅游的网页设计模板seo流量是什么意思
  • 泰州做网站想要推广网页正式版
  • 基于lamp网站建设实例sem代运营公司
  • 手机兼职做什么好关键词seo优化排名
  • 做网站用采集百度知识营销
  • 外贸网站建设公司服务浙江百度推广
  • 清远住房和城乡建设局网站网络的推广方式有哪些
  • 威龙电子商务做的网站2345网址大全下载到桌面
  • 怎么解决360导航的网站建设域名查询网站入口
  • 长沙网站制作的国内永久免费建站
  • 做网站哪个服务商便宜深圳全网信息流推广公司
  • 桂林生活网二手seo网络营销课程
  • 义乌好品质自适应网站建设免费的郑州网络推广服务
  • 企业网站程序源码免费培训网站