JAVA设计模式之策略模式(整理版本).docVIP

JAVA设计模式之策略模式(整理版本).doc

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
JAVA设计模式之策略模式(整理版本),java策略模式,java策略模式讲解,策略设计模式java,java策略模式优点,java中的策略模式,策略模式java分类,java策略者模式,javatoken生成策略,java主键生成策略

JAVA设计模式之策略模式 一、策略模式介绍 策略模式(Strategy模式)是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。 策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。 一句话来形容:准备一组算法,并将每一个算法封装起来,使得他们可以互换 二、策略模式的结构 策略模式涉及到如下三个角色: 环境角色:持有一个Strategy类(策略类)的引用 抽象策略角色:策略类,通常由一个接口或者抽象类实现 具体策略角色:包装了相关的算法和行为 三、策略模式的优缺点 3.1策略模式的优点 提供了管理相关的算法族的办法。 提供了可以替换继承关系的办法。 避免使用多重条件转移语句 3.2策略模式的缺点 客户端必须知道所有的策略类,并自行决定使用哪一个策略类。 造成很多的策略类。 四、策略模式的应用举例 在此了7个java类来描述说明Strategy设计模式; ? 1、SortStrategy.java? 排序算法策略接口 ? 2、SortBin.java? 二分法排序 ? 3、SortBubble.java 冒泡排序4、SortHeap.java? 堆排序 ? 5、SortQuick.java?快速排序 ? 6、Sorter.java 排序算法使用者 ? 7、SortTest.java? 带有main方法的测试类 1、SortStrategy.java import java.util.List; public interface SortStrategyT { ? public void sort(ListT list); } 2、SortBin.java import java.util.List; public class SortBinT implements SortStrategyT { ? public void sort(ListT list) { ??? // sorting logic code here ??? System.out.println(This is bin sort.); } 3、SortBubble.java? import java.util.List; public class SortBubbleT implements SortStrategyT { ? public void sort(ListT list) { ??? System.out.println(This is bubble sort.); } 4、SortHeap.java import java.util.List; public class SortHeapT implements SortStrategyT { ? public void sort(ListT list) { ??? // sorting logic code here ??? System.out.println(This is heap sort.); } 5、SortQuick.java import java.util.List; public class SortQuickT implements SortStrategyT { ? public void sort(ListT list) { ??? // sorting logic code here ??? System.out.println(This is quick sort.); } 6、Sorter.java import java.util.List; public class SorterT { ? private SortStrategyT strategy; ? private Sorter(){} ? //通过构造器传入排序策略 ? public Sorter(SortStrategyT strategy){ ??? if(strategy == null ) ????? strategy = new SortQuickT(); ??? this.strategy = strategy;??? } ? ? public void sort(ListT list){ ??? this.strategy.sort(list); } }

文档评论(0)

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

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

1亿VIP精品文档

相关文档