状态模式原理

糖果机项目

用java软件控制糖果机

image.png

1.糖果机 CandyMachine

image.png

image.png

image.png

image.png

image.png

image.png

2.测试主类

image.png

项目新需求困惑

image.png

image.png

image.png

状态模式原理和解决方案

image.png

image.png

代码讲解

image.png

1. 糖果机 CandyMachine

具有5个方法,初始化状态
image.png
image.png

2. onReadyState 类 依赖 糖果机CandyMachine

image.png

image.png

3.HasCoin 类依赖 CandyMachine类
image.png
image.png

3.soldState类 依赖 CandyMachine类

image.png

image.png

image.pngwinnerState 类 分配糖果,分两颗

image.png
image.png

4.soldoutState类依赖 CandyMachine类

image.png
image.png

5.测试类

image.png

关键点

image.png

策略模式,鸭子叫声,不同叫声对象,改变行为
状态模式:状态不同,完成一系列动作,是一个部分
策略模式可以作为状态模式的基础

模板模式:每一部分构成整体;
状态模式:每个状态是一个整体