如果你接触过UML的状态图,应该会对状态图或者状态机有所了解,我们今天讨论的状态模式就是这种设计的落地方案。 和之前的讲解一样,我们从一个具体案例“饮料售卖机”开始进行讨论。 饮料售卖机 我们这里指的饮料售卖机就是街边常见的那种自动售货机,大概长这样: 老实的售卖机仅支持投币的方式,但新的机型支持网络支付,简单起见我们开发这这款仅支持投币,且只售卖一种饮料,且一块钱一瓶。这种简化会给我们少很多麻烦,毕竟我们不是真的要做一个饮料设备制造商😀 显然,饮料机在不同的状态支持不同的操作,整个购买饮料的过程就是通过一系列操作…