状态模式
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。
状态模式属于行为模式。
状态模式和策略模式相似处都能解决多重if判断问题,不同点,策略模式解决同一个抽象行为,而状态模式解决不同行为。
状态模式可以在不同状态之间切换。
使用场景: 1、行为随状态改变而改变的场景。 2、条件、分支语句的代替者。
注意事项:在行为受状态约束的时候使用状态模式,状态不应太多。
实现方式:
从类图中也可以看出,状态模式的类图和策略模式极为相似,只是策略模式是对同一行为的抽象,状态模式是对状态的抽象,每个状态控制着不同的行为。实现起来主要就是实现类的业务逻辑不同,返回类型可能不同。
参考文献:
https://www.runoob.com/design-pattern/state-pattern.html
全部评论