设计模式--状态模式
2018-08-17 本文已影响0人
jack_520
基本常识:策略模式与状态模式是双胞胎,在出生时才分开。
假设公司有个糖果机,1当糖果机由糖果,投入25分钱,转动曲柄,出来糖果, 2.当糖果机没有糖果,投入25分钱,点击退回25分钱。如何设计才能更好维护并且有弹性。
让我们来分析这个系统。这个系统有四个状态 :1.没有25分钱,2有25分钱,3糖果出售,4糖果售罄。
假设上面是我们初始设计的代码,它没有什么问题。
有一天ceo决定玩的新的,他说每当有人转同曲柄,就会有10%概率得到两颗糖。这样就要在每个方法里面改了。
、 中奖状态其它代码就不列出了。
状态模式:运行对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
状态模式与策略模式比较。