网站大量收购独家精品文档,联系QQ:2885784924

第七章--策略模式.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章--策略模式.ppt

第七章 策略模式 一 、 概述 二、策略模式的结构与使用 1.策略(Strategy) : Computable.java public interface ComputableStrategy{ public abstract double computeScore(double [] a); } 三、策略模式的优点 四、适合使用策略模式的情景 一个类定义了多种行为,并且这些行为在这个类中以多个条件语句的形式出现,可以使用策略模式避免在类中使用大量的条件语句。 程序不需要暴露复杂的、与算法相关的数据结构,可以使用策略模式封装算法。 需要使用一个算法的不同变体。 五、例二 把数组导出为表格的算法,输入一个数组,导出一个表格,当用户想改变导出的表格时,便可以通过改变输出的算法改变输出的结果。如果输出的内容用以网页显示,则输出 tabletrtdJack/td/trtrtdMaya/td/trtrtdMikes/td/trtrtdShadow/td/tr/table 如果输出的结果用以直接的屏幕输出,则可以输出: +----+----+-----+------+ |Jack|Maya|Mikes|Shadow| +----+----+-----+------+ 0 public interface TableExporter{ public String getExported(String[] data); } public class HtmlExporter implements TableExporter{ public String getExported(String[] data){ if(data == null){ return ; } StringBuffer sb = new StringBuffer(); sb.append(table); for(int i=0;idata.length;i++) sb.append(trtd+data[i]+/td/tr); sb.append(/table); return sb.toString(); } } public class LineExporter implements TableExporter{ public String getExported(String[] data){ if(data == null){ return ; } StringBuffer top = new StringBuffer(+); StringBuffer mid = new StringBuffer(|); for(int i =0;idata.length;i++){ String str = data[i]; for(int j=0;jstr.length();j++) top.append(-); mid.append(str); top.append(+); mid.append(|); } top.append(\n); mid.append(\n); return top.toString()+mid.toString()+top.toString(); } } public class Client{ public static void main(String[] args){ String[] data = new String[]{Jack,Maya,Mikes,Shadow}; TableExporter tb; tb = new HtmlExporter(); System.out.println(tb.getExported(data)); tb = new LineExporter(); System.out.println(tb.getExported(data)); } } 使用上下文 public class Context{ TableExporter t; public void setExporter(TableExporter t){ this.t = t; } public String getExported(String[] data){ return t. getExported(data); } } public class Client{ public static void main(String[] args){ String[]

文档评论(0)

changjiali2019 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档