知识大全 设计模式之Strategy(策略)

Posted 变量

篇首语:世上无难事,只要肯登攀本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 设计模式之Strategy(策略)相关的知识,希望对你有一定的参考价值。

设计模式之Strategy(策略)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Strategy是属于设计模式中 对象行为型模式 主要是定义一系列的算法 把这些算法一个个封装成单独的类   Stratrgy应用比较广泛 比如 公司经营业务变化图 可能有两种实现方式 一个是线条曲线 一个是框图(bar) 这是两种算法 可以使用Strategy实现   这里以字符串替代为例 有一个文件 我们需要读取后 希望替代其中相应的变量 然后输出 关于替代其中变量的方法可能有多种方法 这取决于用户的要求 所以我们要准备几套变量字符替代方案      首先 我们建立一个抽象类RepTempRule 定义一些公用变量和方法   public abstract class RepTempRule  protected String oldString= ;  public void setOldString(String oldString)  this oldString=oldString;     protected String newString= ;  public String getNewString()  return newString;    public abstract void replace() throws Exception;     在RepTempRule中有一个抽象方法abstract需要继承明确 这个replace里其实是替代的具体方法 我们现在有两个字符替代方案    将文本中aaa替代成bbb;   将文本中aaa替代成ccc;  对应的类分别是RepTempRuleOne RepTempRuleTwo  public class RepTempRuleOne extends RepTempRule  public void replace() throws Exception   //replaceFirst是jdk 新特性   newString=oldString replaceFirst( aaa bbbb )   System out println( this is replace one );      public class RepTempRuleTwo extends RepTempRule  public void replace() throws Exception   newString=oldString replaceFirst( aaa ccc )   System out println( this is replace Two );        至此我们完成了类图的设计和程序编制 调用如下:  public class test     public void testReplace()  //使用第一套方案进行替换   RepTempRule rule=new RepTempRuleOne();  rule setOldString(record);  rule replace();          实际整个Strategy的核心部分就是抽象类的使用 使用Strategy模式可以在用户需要变化时 修改量很少 而且快速   Strategy和Factory有一定的类似 Strategy相对简单容易理解   Strategy适合下列场合    以不同的格式保存文件;   以不同的算法压缩文件;   以不同的算法截获图象;   以不同的格式输出同样数据的图形 比如曲线 或框图bar等        cha138/Article/program/Java/gj/201311/27578

相关参考

知识大全 ORACLE备份二(ORACLE BACKUP STRATEGY)

ORACLE备份二(ORACLEBACKUPSTRATEGY)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

策略指数的运作模式

策略指数的运作模式由于策略本身是开放型的,因此策略指数的开发过程必然是指数开发人员、资产所有人、投资顾问等参与方互动的结果。目前海外策略指数的开发大致有两种运作模式:1)自上而下。通常是由资产管理公司

知识大全 老生常谈:策略模式

  本来园子里面已经有很多特别好的关于设计模式学习的文章但一般都是概念性的或者都是些简单实例没有用过设计模式的朋友看过之后虽然明白怎么回事了但是对于自己实际项目中何时用设计模式就不太清楚了本人借jil

写字楼设计装修有几大宝典策略?

写字楼设计装修有几大宝典策略?写字楼的装修设计不能随便就找一家装修装饰公司来做,里面所涉及的方面诸多,不能大意。写字楼设计装修有几大宝典策略?一、首先挑选合适的写字楼设计装修公司目前,人们习惯把装饰装

知识大全 应用策略模式为List排序

应用策略模式为List排序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  编程时遇到排序在平常不

知识大全 ORACLE入门之数据库安全策略

ORACLE入门之数据库安全策略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据库安全性问题

知识大全 Oracle学习应用之数据库性能优化策略

Oracle学习应用之数据库性能优化策略  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  数据库系

知识大全 EJB之JPA(UUID与TABLE影射策略)

EJB之JPA(UUID与TABLE影射策略)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!UUI

采用双重冗余变送器对次重要关键参数进行测量时,在控制系统设计中采取了那些控制策略?

采用双重冗余变送器对次重要关键参数进行测量时,在控制系统设计中采取了那些控制策略?参考答案:采用双重冗余变送器对次重要关键参数进行测量时:1.若二个信号的偏差超出一定的范围则报警,并将受影响的控制系统

采用双重冗余变送器对次重要关键参数进行测量时,在控制系统设计中采取了那些控制策略?

采用双重冗余变送器对次重要关键参数进行测量时,在控制系统设计中采取了那些控制策略?参考答案:采用双重冗余变送器对次重要关键参数进行测量时:1.若二个信号的偏差超出一定的范围则报警,并将受影响的控制系统