传统 IoC 框架(如 NestJS、InversifyJS、Spring 一脉)与 Cordis 都解决依赖管理问题,但二者的设计核心与适用场景有明显差异。
传统 IoC 框架面向静态后端架构,以装饰器(@Injectable)标注类,在应用启动时把对象图装配好、一次成型,之后基本不再变动。Cordis 则面向可扩展的微内核与动态插件系统,采用声明式依赖声明加类型拓展,依赖关系在运行时可被追踪、撤销与重建。
传统框架极难做到真正的热卸载,往往需要自行维护容器的清理逻辑,插件作者仍要手动清理定时器与监听器。Cordis 将干净卸载做成框架在结构上保证的属性:所有副作用都被自动追踪,卸载时沿依赖树自动撤销,无需每个插件作者自觉重写清理逻辑。
传统 IoC 框架通常强绑定 Express、Fastify 等 HTTP 场景,并包含大量元数据反射开销。Cordis 完全无绑定,作为元框架可运行于 Browser、Node、Bun 等多种环境,且极致轻量、零运行时冗余反射。