NEventStore 中的 Nanocontainer 类背后有什么故事吗?是否存在与其他 IoC 的关系依赖关系,或者它是由 NEventStore 的作者自己从头开始编写的?
我问这个是因为我喜欢这个类的聪明方法,它似乎是一个非常轻量级的 IoC 容器并且很容易理解。
如果有一个只有这个功能的独特包,那就没问题了。
NEventStore 中的 Nanocontainer 类背后有什么故事吗?是否存在与其他 IoC 的关系依赖关系,或者它是由 NEventStore 的作者自己从头开始编写的?
我问这个是因为我喜欢这个类的聪明方法,它似乎是一个非常轻量级的 IoC 容器并且很容易理解。
如果有一个只有这个功能的独特包,那就没问题了。
您的问题只有 NEventStore 的开发人员才能真正回答,但从可用的源代码中很容易发现该实现非常简约,并且“缺乏”许多使其成为“真正的”DI 容器的功能。据我所见,代码并不是真正基于任何现有容器,尽管基本上所有容器看起来都相似。
该NanoContainer
实现旨在实现 NEventStore 本身需要的足够功能,或者在更改框架的默认行为时用户需要的功能。
可以讨论 DI 库应该具备哪些功能才能成为“真正的”DI 容器,但 IMO 它至少应该能够自动连接类型(其中依赖项会根据构造函数的参数自动注入构造函数)。NanoContainer
不支持这个。它缺乏的其他功能是:
当然,您是否需要这些功能取决于很多因素。