跳到主要内容
知识地图为什么操作的含义必须稳定?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS 与界面

一个问题

为什么操作的含义必须稳定?

有了地址,还要让使用者知道对它进行的操作意味着什么。

列举用于发现子项,读取用于取得内容,写入用于修改支持修改的内容,执行用于调用动作。这些操作有不同的效果;熟悉的地址不应掩盖含义的意外变化。

例如,界面改版不应该悄悄把一次读取变成一次修改。Agent 和人一样,需要知道操作会产生什么效果。共同的操作为不同资源提供了统一起点。

但这不代表所有 Provider 的响应时间、一次修改能否全部成功或全部撤销、以及失败方式都相同。这些行为需要在各自的约定中说明并验证。

同一个任务,四种不同请求

以下地址只是教学示例,不是可以直接调用的运行端点。

目的操作含义预期效果
看有哪些任务列举 /work/tasks获得目录中可访问的任务
看标题读取 /work/tasks/keynote/title获得当前文字
改标题向支持写入的标题资源写入新值修改那份内容
把任务提交审阅执行应用提供的提交动作由动作实现检查规则并产生效果

把“提交审阅”设计成明确动作,有助于保留它的业务含义:它可能需要校验必填项或记录一次提交,不能仅凭按钮文字把它当成任意字段写入。界面可以换掉按钮的样式,执行入口仍应保留约定的效果。