作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员
状态模式(State Pattern)是行为设计模式之一。当对象根据其内部状态改变其行为时,将使用状态设计模式。
模式结构
UML 结构图:
- Context(上下文):定义一个与 Client 交互的接口。它维护对 ConcreteState 对象的引用,可以用该对象来定义当前状态。
- State(抽象状态):定义接口,来声明每个 ConcreteState 应该做什么。
- ConcreteState(具体状态):为 State 中定义的方法提供实现。
优缺点
优点:
- 实现多态行为的好处是显而易见的,并且很容易添加状态来支持额外的行为。