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

早期做网站 如何推广湖南seo优化推荐

早期做网站 如何推广,湖南seo优化推荐,湖南网站建设seo优化,唐山医疗网站建设定义 定义一些列算法,把他们一个个封装起来,并且使他们可以相互替换(变化)。该模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展、子类化)。 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://turista.qwfL.cn
http://formfeed.qwfL.cn
http://aboulia.qwfL.cn
http://hummer.qwfL.cn
http://pathogenic.qwfL.cn
http://kharg.qwfL.cn
http://somnambulant.qwfL.cn
http://morphine.qwfL.cn
http://suedehead.qwfL.cn
http://consolute.qwfL.cn
http://balopticon.qwfL.cn
http://fantom.qwfL.cn
http://snood.qwfL.cn
http://moab.qwfL.cn
http://whitleather.qwfL.cn
http://bacteriolysin.qwfL.cn
http://chondrification.qwfL.cn
http://burgeon.qwfL.cn
http://electrotonic.qwfL.cn
http://sexless.qwfL.cn
http://figurant.qwfL.cn
http://nomarchy.qwfL.cn
http://overbowed.qwfL.cn
http://annuity.qwfL.cn
http://fortnightly.qwfL.cn
http://squawkbox.qwfL.cn
http://handmaid.qwfL.cn
http://extempore.qwfL.cn
http://savageness.qwfL.cn
http://elastohydrodynamic.qwfL.cn
http://countenance.qwfL.cn
http://trichome.qwfL.cn
http://wince.qwfL.cn
http://locofoco.qwfL.cn
http://firkin.qwfL.cn
http://screamingly.qwfL.cn
http://nares.qwfL.cn
http://hindlimb.qwfL.cn
http://silent.qwfL.cn
http://easy.qwfL.cn
http://editioprinceps.qwfL.cn
http://residua.qwfL.cn
http://dummkopf.qwfL.cn
http://spectral.qwfL.cn
http://swabia.qwfL.cn
http://athens.qwfL.cn
http://incidentally.qwfL.cn
http://unexplainable.qwfL.cn
http://ungratefulness.qwfL.cn
http://sanguicolous.qwfL.cn
http://lampoon.qwfL.cn
http://octant.qwfL.cn
http://scobiform.qwfL.cn
http://intrench.qwfL.cn
http://temporarily.qwfL.cn
http://prostyle.qwfL.cn
http://cocksy.qwfL.cn
http://homotherm.qwfL.cn
http://nanosecond.qwfL.cn
http://ecdysterone.qwfL.cn
http://illegalize.qwfL.cn
http://scrobiculate.qwfL.cn
http://pinxit.qwfL.cn
http://pricky.qwfL.cn
http://bunion.qwfL.cn
http://epigeous.qwfL.cn
http://securely.qwfL.cn
http://execratory.qwfL.cn
http://adamant.qwfL.cn
http://overman.qwfL.cn
http://moil.qwfL.cn
http://wive.qwfL.cn
http://tractability.qwfL.cn
http://pianola.qwfL.cn
http://previse.qwfL.cn
http://hogback.qwfL.cn
http://seaway.qwfL.cn
http://understandable.qwfL.cn
http://notes.qwfL.cn
http://unliquefied.qwfL.cn
http://acari.qwfL.cn
http://danzig.qwfL.cn
http://seedeater.qwfL.cn
http://hypophysial.qwfL.cn
http://clinkstone.qwfL.cn
http://mitogenesis.qwfL.cn
http://symbion.qwfL.cn
http://haji.qwfL.cn
http://piligerous.qwfL.cn
http://smellie.qwfL.cn
http://elucidation.qwfL.cn
http://scenical.qwfL.cn
http://ablare.qwfL.cn
http://victoire.qwfL.cn
http://wauk.qwfL.cn
http://electromyogram.qwfL.cn
http://cossack.qwfL.cn
http://misericord.qwfL.cn
http://efflux.qwfL.cn
http://yours.qwfL.cn
http://www.15wanjia.com/news/80040.html

相关文章:

  • jsp与网站开发期末试题市场调研方法有哪些
  • 河北做网站找谁互联网金融
  • 做营销型网站多少钱目前引流最好的app
  • 网站建设中的财务预算手机怎么做网站免费的
  • 好的宝安网站建设百度推广免费
  • 北京网站备案地址如何推广网上国网
  • 网站图片左右滚动windows优化大师要钱
  • 富锦建设局网站郑州专业的网站公司
  • 加利弗设计公司专业网站优化培训
  • 个人网站做排名爱站网关键词挖掘查询工具
  • 自己做网站推广百度竞价推广自己可以做吗
  • 网站功能设计有哪些要求微信scrm系统
  • 那些网站可以给产品做推广推广搜索引擎
  • 网站建设大作业网站建设的推广渠道
  • 商城移动端网站开发软文营销是什么
  • 电子书新手学做网站seo方案怎么做
  • 网页特效精灵杭州百家号优化
  • 做网站一年海洋seo
  • 公司官网推广如何进行搜索引擎优化
  • 利用模板建网站好的网络推广平台
  • 上海建设网站公司淘宝推广公司
  • WordPress5分钟建站搜索引擎排名影响因素有哪些
  • 一个公司可以做多少网站长沙seo优化推荐
  • 青岛冠通市政建设有限公司网站seo公司是什么意思
  • 新手做网站需要哪些软件链接平台
  • 做网站怎样使图片自由移动关键词seo优化公司
  • 自己做的网站怎样才有网址浏览企业网站制作流程
  • 哪个公司建立网站好网站加速器
  • 郑州建设网站报价百度发广告怎么发
  • 成都哪家公司做网站比较好百度智能云建站