图解设计模式之策略(Strategy)模式

策略模式是一种设计模式,旨在将算法的定义和使用分离,通过将不同策略封装在独立的类中,使算法的变化不影响使用它的客户。本文通过实例介绍了策略模式在猜拳游戏、促销活动等场景的应用,以及其模式结构、使用场景和优缺点。通过对策略模式的了解,可以帮助开发者更好地管理和扩展代码。
摘要由CSDN通过智能技术生成

Strategy模式,策略模式

策略:用以解决问题的方法。

但,Strategy模式,不仅是要解决问题,它是以一定策略去解决问题。

它的主要目的是将算法的定义和使用分开,也就是将算法的行为和环境分开,将算法的定义放在专门的策略类中,每一个策略类封装一个实现算法。

[ Strategy模式,策略模式 ]:定义一系列算法类,将每一个算法封装起来,并让它们可以相互替换。

让算法独立于使用它的客户而变化

example

  • 生活中很多地方都有用到这个Strategy模式,
    :如,玩猜拳 → 下一局的出法,如果这局win,下一局是和上一局出的一样,还是根据上一局计算概率得出下一局的手势呢? 如果这局lose,是…
    :还有,每逢节假日,商家的各种打折促销活动,
    :出门旅行,根据目的地,选择交通方式,
    :无聊时,用程序决定接下去的时间是看书,还是运动,如果输出运动,是篮球?乒乓?羽毛球?还是…

场景模拟

过年去商场采购年货,商场门口贴出告示:全场商品,新VIP 8 折,老VIP 7 折,新MVP 6 折,老MVP 5 折,其余一律 9 折。

不使用strategy模式
package strategy模式;

import java.util.Scanner;

public class lab01 {
   
	public static void main(String[] args){
   
		double price;
	
		System.out.println();
		price = Math.random()*1000+1;
		System.out.println("您此次购物消费 "+price);
		System.out.println("选择你的用户类型:1.新VIP 2.老VIP 3.新MVP 4.老MVP 5.其他");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值