状态模式 State

发布时间 2023-12-21 08:53:41作者: 梅丹隆

一、定义

  • 一个对象存在多个状态(不同状态下行为不同),且状态可相互转换

二、适用场景

  • 如:播放器,播放/暂停都是状态,不同状态下行为不同

三、优缺点

1、优点

  1. 将不同的状态隔离
  2. 把各种状态的转换逻辑,分不到State的子类中,减少相互间依赖
  3. 增加新的状态非常简单

2、缺点

  1. 状态多的业务场景会导致类数目增加,系统变复杂

四、代码实现

https://github.com/Meidanlong/all-in-one/tree/master/design/src/main/java/com/mdl/design/pattern/behavioral/state

image.png