状态模式

Posted by KANG's BLOG on Tuesday, March 15, 2022

状态模式

概念

在状态模式(State Pattern)中,类的行为是基于它的状态改变的。

这种类型的设计模式属于行为型模式。

通常我们会判断对象的状态,来决定对象的行为。

比如:

公交车停车状态时,引擎停止,车门打开,乘客可以上下车;

行驶状态时,启动引擎,车门关闭,乘客禁止上下车。

在状态模式下,则通过修改对象的状态,影响对象的行为

可以用来替代多层if-else结构。

图例

状态模式的 UML 图