这一直观效果是时间可组合性与可逆副作用机制共同作用的结果,其核心在于"装卸互为逆操作"。
插件注册时产生的每一处副作用——事件监听、定时器、文件句柄、全局状态修改、注入的服务——都必须通过 ctx.effect() 或 ctx.on() 登记,并返回对应的清理函数。未被登记的裸操作无法进入系统,因此运行时对插件的全部影响都"有迹可循"。
卸载时,运行时按注册的逆序逐一执行清理函数,确保后注册的资源先被释放,避免因依赖顺序错乱而产生悬空引用。若卸载或加载过程中出现同步错误,已执行的部分会被精准回滚,系统不会停留在执行到一半的中间状态。
由于所有副作用都被装进可逆的 effect 中,系统的内部状态不再与操作顺序耦合。先装 A 再装 B,与先装 B 再装 A,最终状态完全一致——历史痕迹被逐步抹平,只剩当下启用了哪些插件。这使得"卸载后系统恢复到插件从未存在过的状态"成为一个可保证的属性,而非依赖插件作者的自觉。