设计模式——状态模式

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

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

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

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

2)代码举例

posted @ 2023-03-17 16:35  Math点PI  阅读(22)  评论(0)    收藏  举报