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

大庆市建设局网站刘东网络营销的具体形式种类

大庆市建设局网站刘东,网络营销的具体形式种类,wordpress手机版 403,用区块链来做网站前言 策略模式是针对不同算法给出不同实现的方式,解耦代码,减少代码中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.mmbaike.com/news/81363.html

相关文章:

  • 衡阳网站建设mdawl人民日报今日头条新闻
  • 济宁专业做优化的网站关键词是什么
  • 超变攻速传奇一秒20刀网站seo网络优化
  • 简单网站建设哪家便宜店铺推广软文案例
  • 长春住房和城乡建设部官方网站百度点击率排名有效果吗
  • 网站怎么做用什么软件网站外链是什么意思
  • 免费网站建站软件浏览器网站大全
  • 建网站推广效果怎么样谷歌外链工具
  • 网络公司最好的是哪个seo怎么做优化
  • 完整的网站建设seo网站推广教程
  • 深圳做网站要多少新闻发布会新闻通稿
  • 可以直接做ppt的网站吗个人介绍网页制作
  • 企业年报网上申报流程操作教程百度seo排名技术必不可少
  • 平台网站如何做推广应用商店关键词优化
  • bootstrap设计的精美网站关于进一步优化 广州
  • 企业门户网站设计论文百度app营销软件
  • 做旅行的网站如何查看百度指数
  • 一个做品牌零食特卖的网站今日的重大新闻
  • 网站加https有什么帮助如何网上销售自己的产品
  • 武汉制作公司网站及推广百度应用商店app
  • 网站建设需要多少济南网站优化公司
  • 千阳做网站免费做做网站
  • 粉色网站模板百度推广代理商返点
  • 旅游网页设计模板下载网站免费网站免费优化优化
  • 个人网站如何做淘宝客seo关键词优化的技巧和方法
  • 湘潭做网站电话磐石网络免费自媒体网站
  • 建站工具wordpress绍兴seo计费管理
  • php动态网站开发 课后答案怎么在百度上做推广上首页
  • 做店铺首页的网站查询网址域名ip地址
  • 网站建设主机类型怎么选南京seo排名扣费