问题
type Dix = dixinternal.Dix,包名暗示 internal,但路径不在 Go internal/ 下,可被外部 import。dixhttp.NewServer 签名使用 *dixinternal.Dix,README/示例还要求 (*dixinternal.Dix)(di) 强制转换——该转换实际是 no-op(类型别名同一类型),NewServer(di) 即可编译。
另:dixglobal 包注释示例仍写 Invoke,实际 API 为 Inject。
影响
- 应用代码依赖「内部」包,封装与版本边界弱
- 文档引导错误用法
建议
- 短期:文档/示例去掉 cast 与
dixinternal import;NewServer(*dix.Dix);修正 dixglobal 注释
- 长期:真 internal 下沉,或公开命名(如
dixcore)并文档化边界
相关但不重复:可视化能力增强见 #20。
问题
type Dix = dixinternal.Dix,包名暗示 internal,但路径不在 Gointernal/下,可被外部 import。dixhttp.NewServer签名使用*dixinternal.Dix,README/示例还要求(*dixinternal.Dix)(di)强制转换——该转换实际是 no-op(类型别名同一类型),NewServer(di)即可编译。另:
dixglobal包注释示例仍写Invoke,实际 API 为Inject。影响
建议
dixinternalimport;NewServer(*dix.Dix);修正dixglobal注释dixcore)并文档化边界相关但不重复:可视化能力增强见 #20。