设计模式——状态模式

1、定义
事物内部状态的改变往往会带来事物的行为改变。在处理的时候,将这个处理委托给当前的状态对象即可,该状态对象会负责渲染它自身的行为

2、核心
区分事物内部的状态,把事物的每种状态都封装成单独的类,跟此种状态有关的行为都被封装在这个类的内部

3、优缺点
优点:状态切换的逻辑分布在状态类中,易于维护
缺点:
多个状态类,对于性能来说,也是一个缺点,这个缺点可以使用享元模式来做进一步优化
将逻辑分散在状态类中,可能不会很轻易就能看出状态机的变化逻辑

4、实现:
1)业务实际举例
上家公司使用的C语言状态机去解决http/https解析全过程;通过请求处理的状态进行控制流程;
var state = null
接受请求过程:【接收请求头,接收请求体】
处理请求过程:【处理请求,设置响应头,设置响应体,返回请求数据】
在状态维护函数中,根据当前状态,执行不同的函数,并在函数执行最后设置其他状态;修改状态函数并调用一个维护状态函数,进行下一步操作。

2)代码举例

posted @   Math点PI  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示