状态模式
概念
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。
这种类型的设计模式属于行为型模式。
通常我们会判断对象的状态,来决定对象的行为。
比如:
公交车停车状态时,引擎停止,车门打开,乘客可以上下车;
行驶状态时,启动引擎,车门关闭,乘客禁止上下车。
在状态模式下,则通过修改对象的状态,影响对象的行为。
可以用来替代多层if-else结构。
图例
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。
这种类型的设计模式属于行为型模式。
通常我们会判断对象的状态,来决定对象的行为。
比如:
公交车停车状态时,引擎停止,车门打开,乘客可以上下车;
行驶状态时,启动引擎,车门关闭,乘客禁止上下车。
在状态模式下,则通过修改对象的状态,影响对象的行为。
可以用来替代多层if-else结构。