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

怎么提高网站关键词排名亚洲足球最新排名

怎么提高网站关键词排名,亚洲足球最新排名,电子商务网站建设教材,网站开发类投标文件前言 策略模式是针对不同算法给出不同实现的方式,解耦代码,减少代码中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://www.hkea.cn/news/367416/

相关文章:

  • 怎样学做网站网站权重等级
  • 做网站好还是做淘宝好北京seo推广
  • 郑州门户网站建设哪家好网站首页不收录
  • 网站制作营销型哪些网站可以发广告
  • 最新政府网站建设理念广州头条新闻最新
  • 济宁网站建设神华线上推广的三种方式
  • 我要表白网站在线制作如何做网站的教程
  • 福州论坛建站模板策划网络营销活动
  • 网站建设 天津百度市场应用官方app
  • 动态网站制作流程友情链接的定义
  • 企业网站开发方案免费建立一个网站
  • 网站引导页面制作的四个任务名称推广引流的10个渠道
  • 南宁网站建设制作后台网站关键词优化价格
  • 微信小程序商城制作公司宁波seo推广服务
  • 响应式购物网站公司seo是什么意思
  • 360未经证实的网站如何做电商运营方案
  • 网站建设类公司排名营销方案范文100例
  • 郑州网站设计 郑州网站开发网络优化有前途吗
  • 黑河做网站首页关键词排名优化
  • 网站二级域名怎么解析公司网络搭建
  • wordpress做网店win10优化大师是官方的吗
  • 弄个做网站公司产品宣传
  • 商品房建设信息网站googleplay商店
  • 菏泽 网站建设优化工具箱
  • 网站建设找哪家公司百度搜索热度
  • 网页设计论文引言北海百度seo
  • 网站空间哪家做的好网络营销的常用工具
  • 网站开发具体问题优化营商环境
  • wordpress4.5 火车头廊坊seo培训
  • 怎么做多个网站单点登录艺考培训