策略模式的理解与应用

本文详细介绍了策略模式,解释了其将算法封装为独立类的原理,通过代码示例展示了如何实现不同用户折扣策略,并阐述了策略模式的高内聚、低耦合特性和扩展优势,以及适用的常见场景。
摘要由CSDN通过智能技术生成

策略模式

什么是策略模式

策略模式(Strategy Pattern) 也叫作**政策模式(Policy)**是指定义了算法组并分别封装起来,让他们可以互相替换使得算法的更改并不会影响使用了算法的用户。策略模式属于行为性设计模式,在策略模式中,一个类的行为及算法可以在运行时更改。

策略模式的重点理解

策略模式重在抽象行为,即将行为抽象为具体的类,调用的时候动态选择行为,策略模式不同策略之间可以相互替换,并不影响最终结果,比如定义不同算法,不同算法之间虽然逻辑不同,但要求执行结果一样,所以策略模式多用于封装算法

简单代码示例

一个商店有三种用户:普通用户、vip用户、svip用户
普通用户:不打折,原价购买
vip用户:9折购买
svip用户:8折购买
如果不使用策略模式我们可能会这样写

public class NoStrategy {
   
	//user是用户等级,money是用户支付的金额
    public double A(String user,double money){
   
        if("svip用户" == user)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值