加载中...

| 类别 | 设计模式 |
| 英文名 | State Pattern |
| 类型 | 行为型模式 |
| 领域 | 软件设计 |
状态模式(State Pattern)是一种行为型模式,它允许一个对象在其内部状态发生改变时改变自身的行为,使对象看起来好像修改了它所属的类。
将与特定状态相关的行为局部化到独立的状态类中,把庞大的状态判断逻辑分散开,消除冗长的条件分支。
包含环境(Context,持有当前状态对象的引用并将请求委派给它)、抽象状态(State,定义状态相关的行为接口)和具体状态(ConcreteState,实现该状态下的行为并负责触发状态转换)。状态切换既可由环境控制,也可由状态对象自身决定下一个状态。
优点:将状态转换显式化,消除复杂的条件分支,符合开闭原则与单一职责。缺点:状态较多时类数量增加;状态转换逻辑分散在各状态类中,可能不易把握整体。

| 类别 | 设计模式 |
| 英文名 | State Pattern |
| 类型 | 行为型模式 |
| 领域 | 软件设计 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧