自我联想学设计模式(初级版)-3-策略模式

在具体怎么使用策略模式之前,我们先自己定义一下什么策略,所谓策略就是做某种事的方法吧,比如我们去火星,可以使用SpaceX的火箭,可以乘坐BlueOrigine的火箭,也可以乘坐俄罗斯的火箭,这就是做同一件事,策略不同。

那么我们发现其实无论坐谁的火箭去火星,都要完成一个算法,去火星。所以,无论是何种算法,都要实现相同的函数接口:

 

我们和昨天学习的状态模式对比下,就发现其实差不过,都是把现在要做的任务,分配给自己的小弟去做。

只不过,状态模式在自己的状态类里做了某些操作之后,还要做状态转换。而策略模式就没有这个困扰,所以其实策略模式不需要转换这一步骤的,即使要转换,也代表我们之前要做的事已经完成了,现在已经是另外一件完整的事情了(只不过另外一件事也是和之前的目的差不过而已,例如都是去火星)。而不是像状态模式一样,在做同一件事情的时候,因为各种原因要变换不同的状态。

转换为代码:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值