基于可辨识联合的状态与动作模型如何让归约逻辑保持封闭和可演进
简答题困难588 次浏览
参考答案与解析
# 核心结论
状态与动作都可以使用可辨识联合建模,但职责不同:状态联合用于排除不可能同时成立的字段组合,动作联合用于建立动作名称与载荷之间的一一对应。归约函数应依据稳定的字面量判别字段收窄分支,并使用 never 完成穷尽检查。这样新增状态或动作成员时,遗漏处理会尽可能转化为编译错误,而不是在线上表现为静默忽略或读取不存在的字段。
# 底层机制
可辨识联合要求各成员共享一个取字面量值的判别字段,例如 status 或 type。比较该字段后,控制流分析会把当前值收窄到相应成员。若判别字段被声明为普通 string,或动作创建器的返回类型过于宽泛,字面量就会变宽,动作名称与载荷之间的关联随之丢失。动作创建
