定义 允许一个对象在其内部状态改变时,改变它的行为 类型:行为型 使用场景 一个对象存在多个状态(不同状态下行为不同),且状态可相互转换 电商订单状态改变 办公系统流程变更 视频播放状态变更 优缺点 优点: 将不同的状态转换 把各种状态的转换逻辑,分布到state的子类中,减少相互间依赖 增加新的状态很简单 缺点: 状态多导致类数目增加,系统变复杂 UML类图 image.png