Dependency injection 什么是内核(关于依赖注入)?

Dependency injection 什么是内核(关于依赖注入)?,dependency-injection,terminology,Dependency Injection,Terminology,我看到内核这个词用得很多,但我不确定它是什么意思。你能举个例子吗。内核就是容器本身。在Windsor(实际上)和Ninject中,它被称为“内核”,因为它只提供核心注入功能,依靠包装器(对于MicroKernel,它是)或模块/扩展方法(对于Ninject)提供方便的功能(例如,WindsorContainer提供XML配置解析)Ninject和其他依赖注入程序中的内核是应用程序的核心。它是其他模块的容器 模块表示应用程序的独立部分。您可以在代码库的结构中自由地组织它们。然后通过构造函数将这些模

我看到内核这个词用得很多,但我不确定它是什么意思。你能举个例子吗。

内核就是容器本身。在Windsor(实际上)和Ninject中,它被称为“内核”,因为它只提供核心注入功能,依靠包装器(对于MicroKernel,它是)或模块/扩展方法(对于Ninject)提供方便的功能(例如,WindsorContainer提供XML配置解析)Ninject和其他依赖注入程序中的内核是应用程序的核心。它是其他模块的容器

模块表示应用程序的独立部分。您可以在代码库的结构中自由地组织它们。然后通过构造函数将这些模块加载到内核中。举个例子

内核对象也是负责解析依赖项和创建新对象的对象

例如,在C#/.NET中的Ninject中,可以使用内核将接口绑定到其实现:

IKernel ninjectKernel = new StandardKernel();
ninjectKernel.Bind<IMyFoo>().To<MyFoo>();
IKernel ninjectKernel=新标准内核();
ninjectKernel.Bind().To();
然后,当您创建一个对象时,如下所示

IMyFoo myFoo = ninjectKernel.Get<IMyFoo>;
imyfoomyfoo=ninjectKernel.Get;
。。。由于您刚才指定的绑定,内核将自动返回类型为
MyFoo
的实例


提供更多关于内核和模块如何组合在一起的概述,以供进一步阅读。Ninject也可能有帮助。

引用一些使用“内核”的短语或句子可能会让你感到困惑,这可能是个好主意;你找过了吗@jeffamaphone,我很确定他指的不是那种内核。