Skip to content

[Design][OPT-04] 明确图状态 live view、快照与更新边界 #189

Open

Description

@Aias00

总览:#180

代码依据

public Map<String, KeyStrategy> keyStrategies() {

问题与目标

data() 返回 unmodifiableMap 的 live view,嵌套值仍可变;keyStrategies() 直接返回内部 Map,与类注释中 data/strategies 的不可修改视图描述不一致。类已声明非线程安全;本任务不把这一事实直接认定为并发漏洞。

范围与方案

明确 live view、独立 snapshot、状态 patch 与策略注册的边界;盘点调用者对嵌套值和策略 Map 的直接修改,以及节点并行/工具上下文中的实际共享方式。优先补充明确契约和受控入口,比较兼容演进与收紧 API;不默认全面深拷贝或不可变重写。

验收

目标是可预测的状态契约,不因 OverAllState 的名字而要求替换整个状态模型。

变更约束

本单来自静态代码审查,尚未运行复现或性能测试。实施先补充针对性验证;破坏性变更需比较更小/兼容方案,记录收益、消费者影响、迁移成本和版本策略。允许保留有充分理由的现有设计。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions