Java设计模式之策略模式与状态模式

一、略模式定义

定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们之间可以相互替换,策略模式可以在不影响客户端的情况下发生变化。

好了,定义看看就完了,我知道你很烦看定义。

二、策略模式涉及到的三个角色

环境(Context)角色  持有一个Strategy的引用

抽象策略(Strategy)角色  这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。

具体策略(ConcreteStrategy)角色  包装了具体的算法或行为。

三、策略模式使用举例

还是赶快看代码吧,知道你看上面定义都烦死了。

我们写一个简单的Demo来对策略模式进行更深的理解,我们模拟游戏中玩家参与一个活动购买金币,普通玩家没有折扣,高级玩家9折优惠,VIP玩家7折优惠。

首先我们定义一个接口,这就是抽象策略角色,如下:

1 public interface GameStrategy { 2 3 public void goldCoin(); 4 5 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyywzf.html