在单体内部先划清模块边界
收录 2026-10
拆微服务之前,先在代码里按业务能力分出模块,禁止跨模块直接访问
这个单体应用里各业务的代码互相调用,改一处牵连一片。请先不拆服务,在代码层面按 [业务能力] 划出模块,明确每个模块对外暴露的接口和可以访问的数据。输出:模块划分图、每个模块的公开接口清单、现有跨模块调用中需要改造的部分、以及用静态检查守住边界的做法。
本站原创
中文原文
使用示例
示例输入
单体里订单、库存、结算互相调用,改一处牵连一片,帮我先在代码层面划模块边界。
输出应包含
- 模块划分图与公开接口清单
- 跨界调用中需要改造的部分
- 用静态检查守住边界的做法
复制前替换这些占位符 1
把方括号里的内容换成你的具体信息,替换后再粘贴给 AI。
[业务能力]
使用建议
边界要靠工具卡住,只写文档的话三个月就回到原样。
可以这样改
- 要求它先复述需求与约束,确认无误再写代码。
- 让它给出最小改动 + 回滚方式,而不是整文件重写。
交付物(这次应拿到什么)
- 可运行的最小改动(含直接可用的代码块)
- 影响面清单:改了哪些文件、哪些调用点要跟着改
常见错法
- 一次让它改十个文件,最后分不清哪处改动导致了新问题。
- 只贴报错不贴代码和版本,拿到无法落地的修法。
输出验收(怎么判断能用)
- 改动可运行、可回滚,且没顺手改无关代码。
- 边界条件(空值、超长、并发)有说明或测试。
适用场景与注意
- 适合:让它先复述需求和约束,再给最小可运行改动。
- 注意:贴报错时同时给版本号与最小复现,否则它容易给出看似合理但不适配的写法。