温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java中的策略模式是什么

发布时间:2021-07-24 10:48:58 来源:亿速云 阅读:95 作者:chen 栏目:大数据

本篇内容主要讲解“java中的策略模式是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java中的策略模式是什么”吧!

1. 模式的定义

假设现在要实现一个简化的报价管理,实现如下的功能: 
1. 对于普通客户或者新客户报全价 
2. 对于老客户报的价格,统一折扣5% 
3. 对于大客户报的价格,统一折扣10% 
对不同的人员报不同的价格

到底该如何实现,才能够让价格类中的计算报价的算法,能很容易地实现可维护,可扩展,又能动态地切换变化呢?

策略模式的定义: 
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,使得算法可独立于使用它的客户而变化

2. UML图

java中的策略模式是什么

Strategy:策略接口,用来约束一系列具体的策略算法,Context使用这个接口来调用具体的策略实现定义的算法

ConcreteStrategy:具体的策略实现,也就是具体的算法实现

Context:上下文,负责和具体的策略类交互,通常会持有一个真正的策略实现

代码:

java中的策略模式是什么java中的策略模式是什么java中的策略模式是什么

3. 研磨设计模式

1)策略模式的功能:把具体的算法实现从具体业务处理中独立出来,把它们实现成为单独的算法类,从而形成一系列的算法,并让这些算法可以相互替换

2)Context和Strategy的关系 
策略实现对象也可以从上下文获取所需要的数据,可以将上下文当作参数传递给策略实现对象。

java中的策略模式是什么

java中的策略模式是什么

java中的策略模式是什么

java中的策略模式是什么

java中的策略模式是什么

3) 容错恢复机制 
比如说采用策略模式,把日志记录到数据库和把日志记录到文件当做两种记录日志的策略,然后再运行期间根据需要进行动态的切换

4)策略模式结合模板方法模式 
发现一系列的算法的实现上存在公共功能,只是在某些局部步骤上有所不同。

java中的策略模式是什么

java中的策略模式是什么

java中的策略模式是什么

5)策略模式的本质:分离算法,选择实现

到此,相信大家对“java中的策略模式是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI