.NET 依赖注入器中的忍者
Ninject 是一个闪电般快速、超轻量级的 .NET 应用程序依赖注入器。它帮助你将应用程序拆分为一系列松散耦合、高度内聚的组件,然后以灵活的方式将它们重新组合在一起。通过使用 Ninject 来支持你的软件架构,你的代码将变得更易于编写、复用、测试和修改。
编写灵活的代码...
public class Samurai {
public IWeapon Weapon { get; private set; }
public Samurai(IWeapon weapon)
{
this.Weapon = weapon;
}
}...让 Ninject 为你将它们粘合在一起。
public class WarriorModule : NinjectModule
{
public override void Load()
{
this.Bind<IWeapon>().To<Sword>();
}
}专注。 许多现有的依赖注入项目为了那些并不常用的功能牺牲了易用性。 每次为 Ninject 添加新功能时,都会权衡其带来的好处与日常使用中增加的复杂性。我们的目标 是尽可能降低入门门槛——即使用 Ninject 所需的基础知识水平。Ninject 拥有许多高级功能,但理解这些功能并非使用其基本功能所必需。
精简。 框架臃肿是某些项目的主要担忧,因此,Ninject 的所有核心功能都集中在 一个程序集中,且不依赖 .NET 基础类库之外的任何库。该程序集在发布模式下编译后的大小约为 85KB。
快速。 Ninject 不依赖反射进行调用,而是利用 CLR 中的轻量级代码生成技术。 这在许多情况下可以带来显著的性能提升(8-50倍)。
精确。 Ninject 帮助开发者第一次就做对事情。它不依赖 XML 映射文件和 字符串标识符来连接组件,而是提供了一种强大的领域特定语言。这意味着 Ninject 充分利用了语言的能力(如类型安全)和 IDE 的功能(如智能感知和代码补全)。
敏捷。 Ninject 是基于组件化架构设计的。
暂无开放 Issues,或尚未同步最近议题。