学习设计模式-策略模式

策略模式

说明:策略模式需求跟简单工厂很类似,但优点是可以做到更低耦合,对外只暴露了策略上下文类

需求:超市有很多商品收费方法,有满减、打折等

解决方式:

a.      一个策略父抽象类,定义一个算法方法;

b.      分别定义子类策略类A、策略类B策略类C;(继承)

c.      策略上下文类,构建方法,根据参数,实例化不同的策略类,并赋值给类声明的策略抽象类对象;

d.      策略上下文类,定义策略类算法方法(类声明的策略抽象类对象调用策略方法);

e.      客户A类实例化策略上下文类,输入对应的参数,上下文类实例化对应的策略类对象,策略上下文类调用算法方法

需求变更:新增促销算法

解决方式:

新增另外一种促销方式;

新增一个策略类D,策略上下文类实例化加入一个判断参数,实例化策略类D;

类图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多懂一些

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值