状态模式(state)

简介

当一个对象有很多种状态且不同的状态有不同的行为的时候可以使用。

状态模式由状态类以及环境类(context)组成。

状态类抽象类规定的该状态的功能操作,如支付流程中的有未付款、已付款两个状态,未付款状态能够进行商品的选购、付款功能,已付款状态能够进行退出功能。具体状态的功能由子类根据实际情况来实现。

实现技巧:状态类接口可以由抽象类来做空实现,函数体直接抛出异常,交由具体子类来实现。

环境类作为上下文,标识当前的状态,每次状态的改变需要改变环境类存储的状态信息。

优点:可读性高、方便维护且符合开闭原则。

缺点:每个状态会对应一个类,会产生很多的类。

类图

相关推荐
万物得其道者成9 小时前
阿里云 H5 一键登录接入实战:前后端完整实现
阿里云·云计算·状态模式
前端不太难9 小时前
在 HarmonyOS 上,游戏状态该怎么“死而复生”
游戏·状态模式·harmonyos
木斯佳19 小时前
前端八股文面经大全:26届秋招滴滴校招前端一面面经-事件循环题解析
前端·状态模式
hepingfly20 小时前
不再单打独斗!用 Agent Teams 让 7 个 Claude 同时帮你开发
状态模式
C澒1 天前
Remesh 框架详解:基于 CQRS 的前端领域驱动设计方案
前端·架构·前端框架·状态模式
前端不太难1 天前
HarmonyOS 游戏里,Ability 是如何被重建的
游戏·状态模式·harmonyos
程序员agions1 天前
2026年,微前端终于“死“了
前端·状态模式
源力祁老师2 天前
深入解析 Odoo 中的 return 特殊用法-Odoo Action 的本质
状态模式
前端不太难2 天前
HarmonyOS 游戏中,被“允许”的异常
游戏·状态模式·harmonyos
C澒2 天前
FE BLL 架构:前端复杂业务的逻辑治理方案
前端·架构·前端框架·状态模式