非法状态与非期望状态
非法状态(illegal state)是系统绝不应进入的状态,而非期望状态(unwanted state)则是我们不愿停留的状态。许多我们以为是非法状态的情形,实际上只是非期望状态。例如日程冲突在系统中可以临时存在(用户可能需后续处理),但飞机超售必须在登机前解决,否则将演变为非法状态。系统需要具备检测和处理非期望状态的能力,有时甚至需要主动允许这些状态存在,以支持特定业务流程(如航空公司超额预订)。从形式化角度看,非法状态对应违反的不变量([]!Illegal),而非期望状态可用热状态(hot states)或更强属性来描述。