实战:写一个可替换的能力
审计依据 ·
代码骨架与包结构来自教程;类型导入路径以当前仓库为准。 查看本节审计记录
按 Definition → Provider → Consumer 实现 myCap,并在 cordis.yml 中组合加载。
完成 4.4 与 3.5。
- Definition:抽象类继承 Service,声明
execute(request)与 Request/Result 类型。 - Provider:继承抽象类实现 execute,通过
ctx.plugin(MyCapLocal)注册实现。 - Consumer:用
defineTool暴露工具,inject: ['tools', 'myCap']。 - 组合:cordis.yml 同时加载 Provider 与 Consumer;模型只认识工具名,不认识服务。
- 数据流:模型 → Consumer → Definition → Provider;换 Provider 时前两层不动。
实现一个把输入转大写的 myCap:三个包、一个工具、一次真实调用。然后写第二个 Provider(例如加前缀),只改 cordis.yml 完成替换。