Head First设计模式——状态模式

  如下糖果机工作状态图,我们对这个状态图进行编码实现糖果机的工作过程

 Head First设计模式——状态模式

 

 

 这个状态图的每个圆圈代表一个状态,可以看到有4个状态同时又4个动作,分别是:“投入1元钱”、“退回1元钱”、“转动曲柄”、“发放糖果”。当要发放糖果的时候需要判断糖果数量是否为0来进入“糖果售磐”或者“没有1元钱”状态。所以有5个状态转换。

接下来我们对状态图进行分析实现编码

①找出状态:没有1元钱、有1元钱、糖果售出、糖果售磐。

②创建实例变量持有当前状态,定义每个状态的值。

static int SOLD_OUT=0; static int NO_ONERMB=1; static int HAS_ONERMB=2; static int SOLD=3; int State=SOLD_OUT;

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

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