引子 场景 在我们软件开发的过程中,有许多对象是有状态的.而对象的行为会随着状态的改变而发生改变.例如开发一个电梯类,电梯有开门.关门.停止.运行等行为,同时电梯也会有开门状态.关门状态.停止状态.运行状态等不同的状态.电梯处于不同的状态时,对不同的行为会做出不同的动作.如当电梯处于开门状态时,电梯可以做关门动作:开门状态时,电梯一定是停止的,所以此时停止动作不会发生任何行为:开门状态时,电梯不能运行,所以运行动作也不会发生任何行为.如果我们使用条件判断语句实现上述逻辑,会出现大量的if els…