并购之后,公司常会同时留下两套订单系统:一边用数字 2 表示已发货,另一边写 SHIPPED。数据团队可以先统一字段和状态,让大家在一个页面查订单;但运营人员想取消错单时,仍得退出看板,回到旧系统操作。Togo YAMANAKA 的这篇演示文章关注的,正是这道“能看、不能办”的断层。
文章搭建了一个操作型本体——用“客户、订单、商品”等业务对象统一数据含义,同时把动作和规则也放进去。关键设计很克制:系统不提供任意修改字段的通用接口,而是把每项业务决定定义成具名动作,例如 cancelOrder。这样,写入不再等于随手执行一次更新,而要表达“取消订单”这件具体业务,并为“已发货订单不能取消”等约束留下明确位置。
更重要的是写回:操作最终要同步到真正承载订单的源系统。本体因此从只读的数据视图,变成会改变业务状态的操作层。文章还提供了一个 TypeScript、MIT 许可的最小开源实现;不过供稿节选未披露权限、校验与跨系统一致性如何完整处理,这些仍是从演示走向生产环境时必须回答的问题。