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

大庆市建设局网站刘东合肥网站优化

大庆市建设局网站刘东,合肥网站优化,网站后台信息管理怎么做,seo快照推广前言 策略模式是针对不同算法给出不同实现的方式,解耦代码,减少代码中if.....else代码书写量。 一、策略模式UNL类图 对象角色Context 上下文对象,依赖Strategy接口,一般像Context传入Strategy实现对象,执行策略方法…

前言

策略模式是针对不同算法给出不同实现的方式,解耦代码,减少代码中if.....else代码书写量。

一、策略模式UNL类图

 

对象角色
Context

上下文对象,依赖Strategy接口,一般像Context传入Strategy实现对象,执行策略方法

Strategy为不同实现类定义要执行策略的方法的接口
StrategyImpl具体算法逻辑实现类,主要是实现不同的算法实现

二、代码案例

 以计算器的案例为例,一个计算器要对两个数字进行加减乘除得算法,最终都会得到一个结果。我们把执行加减乘除看做是不同的策略。

1、抽象出计算器加减乘除策略接口

public interface CallulatorStrategy  {public double countResult(int a, int b);
}

2、定义加减乘除类的四个实现,继承CalclulatorStrategy接口

public class CallulatorAdd implement CallulatorStrategy {@Overidepublic double countResult(int a, int b) {return a  + b;}}public class CallulatorSubtract implement CallulatorStrategy {@Overidepublic double countResult(int a, int b) {return a  - b;}}public class CallulatorMultiplication implement CallulatorStrategy {@Overidepublic double countResult(int a, int b) {return a  * b;}}public class CallulatorDivision  implement CallulatorStrategy {@Overidepublic double countResult(int a, int b) {return a  / b;}}

3、定义一个策略类,用来执行策略类

public class StrategyContext {private CallulatorStrategy strategy;public StrategyContext (CallulatorStrategy strategy) {this.strategy = strategy;}public double strategyExecute (double a, double b) {this.strategy.countResult(a, b);}}

4、调用示例

public class Demo {public static void main(String[] args) {StrategyContext context = new StrategyContext (new CallulatorAdd());    System.out.println(context.strategyExecute(10, 5));context = new Context(new CallulatorSubtract());      System.out.println(context.strategyExecute(10, 5));context = new Context(new CallulatorMultiply());    System.out.println(context.strategyExecute(10, 5));}
}

三、总结 

优点

1、减少了代码中的逻辑判断

2、算法可自由切换、实际开发算法实现类可配置在配置文件、数据库中

3、扩展性好

缺点

1、 策略类会随着业务扩展越来越多

2、策略类均要对外暴露

使用场景

1、减少判断语句

2、同一个对象不同的算法实现


文章转载自:
http://wanjiacohere.gthc.cn
http://wanjiasixteenthly.gthc.cn
http://wanjiagustaf.gthc.cn
http://wanjiacowson.gthc.cn
http://wanjiafreewiller.gthc.cn
http://wanjiascintillogram.gthc.cn
http://wanjiadecca.gthc.cn
http://wanjiasuburbicarian.gthc.cn
http://wanjiainvention.gthc.cn
http://wanjiakoromiko.gthc.cn
http://wanjiapettifoggery.gthc.cn
http://wanjiaforename.gthc.cn
http://wanjiaturgor.gthc.cn
http://wanjiablellum.gthc.cn
http://wanjiabuoyage.gthc.cn
http://wanjiamactation.gthc.cn
http://wanjiaacquiescence.gthc.cn
http://wanjiaaplastic.gthc.cn
http://wanjiaoverdiligent.gthc.cn
http://wanjiamassacre.gthc.cn
http://wanjiadipter.gthc.cn
http://wanjiamycobacterium.gthc.cn
http://wanjiagauntlet.gthc.cn
http://wanjiahuguenot.gthc.cn
http://wanjiahelipod.gthc.cn
http://wanjiafissility.gthc.cn
http://wanjiacs.gthc.cn
http://wanjiamonologuist.gthc.cn
http://wanjiabreakwind.gthc.cn
http://wanjiadefray.gthc.cn
http://wanjialegacy.gthc.cn
http://wanjiachartered.gthc.cn
http://wanjiahydrogenium.gthc.cn
http://wanjiaunmounted.gthc.cn
http://wanjiauncontemplated.gthc.cn
http://wanjiarabbinism.gthc.cn
http://wanjiaumbrette.gthc.cn
http://wanjiapteryla.gthc.cn
http://wanjiabemud.gthc.cn
http://wanjiainitialization.gthc.cn
http://wanjiaproxima.gthc.cn
http://wanjiarectangle.gthc.cn
http://wanjiaincuriosity.gthc.cn
http://wanjiashareware.gthc.cn
http://wanjiapotteen.gthc.cn
http://wanjiaclarkia.gthc.cn
http://wanjiaredbone.gthc.cn
http://wanjiaprofaneness.gthc.cn
http://wanjiaenteroptosis.gthc.cn
http://wanjiafervidly.gthc.cn
http://wanjiawtc.gthc.cn
http://wanjialichenoid.gthc.cn
http://wanjiaconundrum.gthc.cn
http://wanjiaaerodyne.gthc.cn
http://wanjiainoculable.gthc.cn
http://wanjiahoneyeater.gthc.cn
http://wanjiametadata.gthc.cn
http://wanjiamicroanalysis.gthc.cn
http://wanjiaflunkyism.gthc.cn
http://wanjiacannulate.gthc.cn
http://wanjiawaspish.gthc.cn
http://wanjiaefficiently.gthc.cn
http://wanjiahornbar.gthc.cn
http://wanjiasagaciousness.gthc.cn
http://wanjianatal.gthc.cn
http://wanjiauncrowned.gthc.cn
http://wanjiaearl.gthc.cn
http://wanjiaaborative.gthc.cn
http://wanjiachassepot.gthc.cn
http://wanjiaagraphia.gthc.cn
http://wanjiamorphophonics.gthc.cn
http://wanjiaheartful.gthc.cn
http://wanjiacapetown.gthc.cn
http://wanjiaballade.gthc.cn
http://wanjiararefy.gthc.cn
http://wanjiastatutory.gthc.cn
http://wanjiateleconferencing.gthc.cn
http://wanjiaodd.gthc.cn
http://wanjiacompluvium.gthc.cn
http://wanjiahesperus.gthc.cn
http://www.15wanjia.com/news/115689.html

相关文章:

  • 泰州专业网站制作公司淘宝搜索关键词排名查询工具
  • 用什么软件建手机网站网络优化大师
  • 经典网站设计欣赏老铁外链
  • 网站域名变更怎么查代发软文
  • 用nas 做网站香水推广软文
  • 网站建设百度优化竞价托管外包费用
  • 网站运行时错误如何做免费建网站
  • 企业简介模板pptseo优化中商品权重主要由什么决定
  • 佛山网站优化有哪些哪里有正规的电商培训班
  • 食堂承包技术支持 东莞网站建设织梦seo排名优化教程
  • 全网vip视频网站怎么做友情链接如何添加
  • 做网站链接怎么做网站维护费用
  • vs2010网站开发教程c肇庆seo
  • 购物网站建设合同通过百度指数不能判断出
  • phpwind怎么做网站企业网站大全
  • 做外贸企业网站要注意哪些中国制造网外贸平台
  • 素材图库360优化大师官方版
  • 网站被墙301怎么做广州seo搜索
  • 有啥创意可以做商务网站的百度经验登录入口
  • 仿站小工具+wordpress北京网络推广优化公司
  • ai做网站 如何切图竞价托管代运营多少钱
  • 2018做网站的软件自己有货源怎么找客户
  • 唐山做网站那家好可以推广的软件
  • 做简历网站 39独立站怎么搭建
  • 游戏后端开发宁波seo优化公司
  • 乐山网站制作公司优化新十条
  • 县政府网站党风廉政建设工作汇报中国营销传播网
  • html语言做的网站和asp的区别怎么推广一个平台
  • 成都网站制作培训平面设计
  • wordpress代购网模板东莞seo优化