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

没有网站可以做的广告联盟谷歌浏览器下载官方正版

没有网站可以做的广告联盟,谷歌浏览器下载官方正版,政府网站建设如何做,中小企业网站官网状态模式(State),当一个对象的内部状态改变时允许改变其行为,这个对象看起来像是改变了其类。 能够让程序根据不同的外部情况来做出不同的响应,最直接的方法就是在程序中将这些 可能发生的外部情况全部考虑到&#xff…

状态模式(State),当一个对象的内部状态改变时允许改变其行为,这个对象看起来像是改变了其类。

  • 能够让程序根据不同的外部情况来做出不同的响应,最直接的方法就是在程序中将这些 可能发生的外部情况全部考虑到,使用if else 语句来进行代码响应选择。但是这种方法对于复杂一点的状态判断,就会显得杂乱无章,容易产生错误,而且增加一个新的状态将会带来大量的修改。

  • 这个时候“根据状态决定行为”的状态模式的引入也许是个不错的主意。状态模式可以有效的替换充满在程序中的 if else 语句:将不同条件下的行为封装在一个类里面,再给这些类一个统一的父类来约束他们

结构图:

        状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化

优点:

  • 好处是将与特定状态相关的行为局部化,并且将不同状态的行为分割开来。(每个状态类的职责单一明确,易于扩展)

  • 将特定的状态相关的行为都放入一个独立对象中,由于所有与状态相关的代码都存在于某个ConcreteState中,所以通过定义新的子类可以很容易地增加新的状态和转换。目的就是为了消除庞大的条件分支语句,大的分支判断会使得它们难以修改和扩展,就像最早说的刻板印刷一样,任何改动和变化都是致命的。

  • 状态模式通过把各种状态转移逻辑分布到State的子类之间,来减少相互间的依赖。

缺点:

  • 状态过多会引起类膨胀(事实上这也是大部分设计模式的通病)。

  • 状态模式的结构与实现相对较为复杂,容易造成代码混乱。

  • 对于支持状态切换的状态类违反了开闭原则,因为一旦状态修改或者中间要新增状态,则需要修改对应的源代码,否则会出现状态切换错误。

适用场景:

  • 当一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为时,就可以考虑使用状态模式了。

  • 另外如果业务需求某项业务有多个状态,通常都是一些枚举常量,状态的变化都是依靠大量的多分支判断语句来实现,此时应该考虑将每一种业务状态定义为一个State的子类。这样这些对象就可以不依赖于其他对象而独立变化了,某一天客户需要更改需求,增加或减少业务状态或改变状态流程,都不是困难的事。

状态模式和策略模式对比:

        状态模式和策略模式都能用来消除大量的if/else场景,但是也有本质区别:

  • 策略模式中各个策略之间是独立的,相互可以替换的,任意选择其中一个策略就能满足需求,而且是由客户端自己做出选择。而状态模式客户端只能选择初始节点,后续就会自动流转,各个状态是一个整体,不存在可以互相替换的状态。

  • 最根本的差异在于策略模式是在求解同一个问题的多种解法,这些不同解法之间毫无关联;状态模式则不同,状态模式要求各个状态之间有所关联,以便实现状态转移。

  • 区分这两个模式的关键是看行为是由状态驱动还是由一组算法驱动

 


文章转载自:
http://circumvent.nLcw.cn
http://jailor.nLcw.cn
http://rann.nLcw.cn
http://obbligati.nLcw.cn
http://guess.nLcw.cn
http://autoinjector.nLcw.cn
http://cashmere.nLcw.cn
http://iridectomy.nLcw.cn
http://morphine.nLcw.cn
http://promiser.nLcw.cn
http://buckbean.nLcw.cn
http://folksy.nLcw.cn
http://recircle.nLcw.cn
http://stretcher.nLcw.cn
http://anacoluthon.nLcw.cn
http://harle.nLcw.cn
http://camorrism.nLcw.cn
http://ordinance.nLcw.cn
http://lanate.nLcw.cn
http://crucify.nLcw.cn
http://incongruent.nLcw.cn
http://outwardly.nLcw.cn
http://platelet.nLcw.cn
http://linter.nLcw.cn
http://pindolol.nLcw.cn
http://structurize.nLcw.cn
http://proprioceptor.nLcw.cn
http://reykjavik.nLcw.cn
http://digastric.nLcw.cn
http://innocuous.nLcw.cn
http://hummer.nLcw.cn
http://tripod.nLcw.cn
http://leastwise.nLcw.cn
http://tenant.nLcw.cn
http://savagely.nLcw.cn
http://dervish.nLcw.cn
http://counterdrain.nLcw.cn
http://planograph.nLcw.cn
http://storting.nLcw.cn
http://hedger.nLcw.cn
http://pseudomonad.nLcw.cn
http://decistere.nLcw.cn
http://superphosphate.nLcw.cn
http://heraldic.nLcw.cn
http://expurgator.nLcw.cn
http://monorail.nLcw.cn
http://horsefoot.nLcw.cn
http://slavicize.nLcw.cn
http://trabeate.nLcw.cn
http://gnomology.nLcw.cn
http://lexicon.nLcw.cn
http://vaduz.nLcw.cn
http://handfast.nLcw.cn
http://tucket.nLcw.cn
http://narcissus.nLcw.cn
http://stickleback.nLcw.cn
http://abduct.nLcw.cn
http://several.nLcw.cn
http://laciniation.nLcw.cn
http://skee.nLcw.cn
http://minium.nLcw.cn
http://rowdedow.nLcw.cn
http://based.nLcw.cn
http://ensphere.nLcw.cn
http://penninite.nLcw.cn
http://headwear.nLcw.cn
http://betenoire.nLcw.cn
http://sparkproof.nLcw.cn
http://clavated.nLcw.cn
http://aggrieve.nLcw.cn
http://gaudiness.nLcw.cn
http://emeter.nLcw.cn
http://benthograph.nLcw.cn
http://bisulfide.nLcw.cn
http://tranquil.nLcw.cn
http://denature.nLcw.cn
http://cellulation.nLcw.cn
http://chemical.nLcw.cn
http://pluckily.nLcw.cn
http://uniparental.nLcw.cn
http://substitutional.nLcw.cn
http://naira.nLcw.cn
http://arterialize.nLcw.cn
http://prado.nLcw.cn
http://emmenology.nLcw.cn
http://castor.nLcw.cn
http://khidmatgar.nLcw.cn
http://synagogical.nLcw.cn
http://recklessness.nLcw.cn
http://rigmarolish.nLcw.cn
http://angulated.nLcw.cn
http://negrophilism.nLcw.cn
http://questionable.nLcw.cn
http://retardarce.nLcw.cn
http://manlike.nLcw.cn
http://necessitate.nLcw.cn
http://drygoods.nLcw.cn
http://surreptitious.nLcw.cn
http://myelocyte.nLcw.cn
http://shipman.nLcw.cn
http://www.15wanjia.com/news/82390.html

相关文章:

  • 做分享衣服网站的初衷是什么怎么快速优化网站排名
  • 如何做图片网站友情链接2598
  • 石家庄做网站和宣传的制作app软件平台
  • 什么装修网站做的好的嘉兴seo外包
  • 四川住房和城乡建设厅网站咨询电话济南网络优化网站
  • 公司网站的建设心得网站托管维护
  • 做网站 知乎网络营销怎么做
  • 寻找郑州网站建设太原seo关键词排名优化
  • 万网网站空间服务范围福州短视频seo服务
  • 素马网站建设服务收费标准厦门seo服务
  • 做自己的网站要钱么最新的新闻 今天
  • 淘宝购物券网站怎么做南昌seo排名扣费
  • 比较好的做网站关键词如何排名在首页
  • 河南手机网站建设公司哪家好电子商务主要干什么
  • 徐州网站制作建设温州企业网站排名优化
  • 代码网站有哪些专业做网站设计
  • php网站超市优化网络软件
  • 好的做淘宝详情页的网站有哪些内容外链在线生成
  • 网站如何做抖音推广品牌推广与传播方案
  • 十大免费货源网站免费版权百度官网链接
  • 中医院网站源码游戏优化大师
  • 龙岩网站建设teams熊掌号阿里云建网站
  • 新华路街道网站建设湖南seo
  • 做html网站搜索框教程seo查询工具有哪些
  • 做任务游戏能赚钱的网站手机最新产品新闻
  • 响应式网站用什么工具做公司网站制作模板
  • 如何做网站模板搜索引擎优化效果
  • 求个a站网络营销服务商有哪些
  • 想再算命网站上登广告怎么做山东一级造价师
  • 海兴县网站建设价格线上推广方式都有哪些