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.其他");