- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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[]
您可能关注的文档
- 第一章-测量与控制系统概述.ppt
- 第一章-特种作物概述.ppt
- 第一章-社会心理学导论(2011新).ppt
- 第一章-职业卫生与职业危害概述.ppt
- 第一章-餐饮概述.pptx
- 第一章第2讲-人力资源管理的产生和发展.ppt
- 第一节-幼儿教师.ppt
- 第一节-幼儿的营养卫生(一--三).ppt
- 第一节-民国教育方针与政策.ppt
- 第一节幼儿教师的角色.pptx
- 历史的巨响 奋进的力量纪念我国第一颗原子弹爆炸成功60周年-热点速递“内容简介+素材集锦+时评+作文链接+范文”.docx
- 历史的巨响 奋进的力量:纪念我国第一颗原子弹爆炸成功60周年-热点速递“内容简介+素材集锦+时评+作文链接+范文”.docx
- 吉林省2016年中考文综试卷(解析版).doc
- 吉林省2016年中考文综试卷(解析版).doc
- 吉林省2016年度中考政 治试题(word版,含答案).doc
- 吉林省2016年中考政治试卷及答案【word版】.doc
- 2016年吉林省中考政治试题及答案解析.doc
- 吉林2016年初中毕业生学业考试.doc
- 竞聘技校数学老师演讲.docx
- 2016年吉林省中考政治试题解析.doc
文档评论(0)