带你读《2022技术人的百宝黑皮书》——淘宝iOS扫一扫架构升级 - 设计模式的应用(3)https://developer.aliyun.com/article/1338256?groupCode=taobaotech
状态模式
回头来看下码展示的逻辑,这是我们用户体验优化的重要一项内容。码展示的意思是对于当前帧/图片,识别到的码 位置,我们进行锚点的高亮并跳转。这里包含三种情况:
- 未识别到码的时候,无锚点展示
- 识别到单码的时候,展示锚点并在指定时间后跳转
- 识别到多码额时候,展示锚点并等待用户点击
可以看到,这里涉及到简单的展示状态切换,这里就引出改造的第二步:状态模式
状态模式是一种行为设计模式, 能在一个对象的内部状态变化时改变其行为, 使其看上去就像改变了自身所属的类一样。
本文设计的状态模式,包含两部分:
- 状态的信息 StateInfo
- 状态的基类 BaseState
两者结构如图所示
带你读《2022技术人的百宝黑皮书》——淘宝iOS扫一扫架构升级 - 设计模式的应用(5)https://developer.aliyun.com/article/1338235?groupCode=taobaotech