软件体系结构与设计模式 第七章 策略模式.ppt

软件体系结构与设计模式 第七章 策略模式.ppt

ID:49502406

大小:155.50 KB

页数:23页

时间:2020-02-06

软件体系结构与设计模式 第七章 策略模式.ppt_第1页
软件体系结构与设计模式 第七章 策略模式.ppt_第2页
软件体系结构与设计模式 第七章 策略模式.ppt_第3页
软件体系结构与设计模式 第七章 策略模式.ppt_第4页
软件体系结构与设计模式 第七章 策略模式.ppt_第5页
资源描述:

《软件体系结构与设计模式 第七章 策略模式.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第七章策略模式9/5/20211策略模式(别名:政策)定义一系列算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。StrategyPattern(AnotherName:Policy)Defineafamilyofalgorithms,encapsulateeachone,andmaketheminterchangeable.Strategyletsthealgorithmvaryindependentlyfromclientsthatuseit.一、概述9/5/20213策略模式是处理算法的不同变体的一种成熟模式,策略模式通过接口或抽象类

2、封装算法的标识,即在接口中定义一个抽象方法,实现该接口的类将实现接口中的抽象方法。在策略模式中,封装算法标识的接口称作策略,实现该接口的类称作具体策略。二、策略模式的结构与使用9/5/20214策略模式的结构中包括三种角色:策略(Strategy)具体策略(ConcreteStrategy)上下文(Context)9/5/20215策略模式的UML类图商品利益存款利息计算利息计算预想利息方式计算确定余款方式计算利益{…利息计算.计算}9/5/20219策略模式的结构的描述与使用在某种比赛中有若干个裁判,每位裁判给选手一个得分。选手的最后得分是根据全体裁判的得分计算出来的。请给出几种

3、计算选手得分的评分方案,对于某次比赛,可以从你的方案中选择一种方案作为本次比赛的评分方案。1.策略(Strategy):Computable.javapublicinterfaceComputableStrategy{publicabstractdoublecomputeScore(double[]a);}9/5/2021112.具体策略(ConcreteStrategy):StrategyOne.java(代数平均值方法)publicclassStrategyOneimplementsComputableStrategy{publicdoublecomputeScore(doub

4、le[]a){doublescore=0,sum=0;for(inti=0;i

5、<=2)return0;doublescore=0,sum=0;Arrays.sort(a);for(inti=1;i

6、cdoublegetPersonScore(double[]a){if(strategy!=null)returnstrategy.computeScore(a);elsereturn0;}}9/5/2021144.应用:Application.java_1publicclassApplication{publicstaticvoidmain(Stringargs[]){GymnasticsGamegame=newGymnasticsGame();game.setStrategy(newStrategyOne());Personzhang=newPerson();zhang.set

7、Name("张三");double[]a={9.12,9.25,8.87,9.99,6.99,7.88};Personli=newPerson();li.setName("李四");double[]b={9.15,9.26,8.97,9.89,6.97,7.89};zhang.setScore(game.getPersonScore(a));li.setScore(game.getPersonScore(b));System.out.println("使用算术平均值方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。