Ninject

依赖注入器
授权协议 Apache-2.0
开发语言 .NET
所属分类 程序开发、 面向方面AOP/IoC
软件类型 开源软件
地区 不详
投 递 者 戚弘和
操作系统 Windows
开源组织
适用人群 未知
 软件概览

Ninject为.NET应用程序提供快速、轻型的依赖注入器而著称。它有助于开发人员将应用程序拆分为松耦合、高内聚的功能片断的集合,然后以灵活的方式将它们粘连在一起。从软件架构层面上使用Ninject,可以使得你的代码更易于编写、重用、测试和修改。

示例代码:

public class Samurai {
    public IWeapon Weapon { get; private set; }
    public Samurai(IWeapon weapon) 
    {
        this.Weapon = weapon;
    }
}

public class WarriorModule : NinjectModule
{
    public override void Load() 
    {
        this.Bind<IWeapon>().To<Sword>();
    }
}
  • 1.为什么要用Ninject? Ninject是一个IOC容器用来解决程序中组件的耦合问题,它的目的在于做到最少配置。其他的的IOC工具过于依赖配置文件,需要使用assembly-qualified名称来进行定义,庸长且复杂常常因为打错字而破坏程序。这些是他的优点,也是为什么要选择它。Ninject同时不能进行热插拔。   2.Ninject做些什么? 其实Ninject做的事情很简单,说白了就是

  •      Ninject,是一个IOC的工具,就是我们经常说的控制反转。     IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。      先说下我对这个工具的感受:老是配置,烦死人了,什么XML,什么配置都没代码写的舒服,痛快。嘿嘿。。。 因为每次在定义Type类型的时候,还得去找下这

  • Ninject学习笔记(一) Ninject学习笔记(一) 理解依赖注入 DI概念 什么是DI? DI是如何工作的? 什么是DI容器 使用Ninject 如何使用Ninject Ninject对象生命周期 暂时范围 单例范围 线程范围 请求范围 自定义范围 Ninject模块 从xml配置依赖(Ninject XML扩展) Ninject约定(Ninject Convention扩展) 选择程序集

  • 1、Ninject依赖链注入: public  class ShoppingCart     {         private IValueCalc calc;         public ShoppingCart(IValueCalc ivc)         {             calc = ivc;         }         public decimal Total()

  • 1、是什么  Ninject是一个快如闪电、超轻量级的基于.Net平台的依赖注入框架。它能够帮助你把应用程序分离成一个个松耦合、高内聚的模块,然后用一种灵活的方式组装起来。通过使用Ninject配套你的软件架构,那么代码将会变得更加容易编写、重用性强、易于测试和修改。 2.为什么要用Ninject? Ninject是一个IOC容器,用来解决程序中组件的耦合问题,它的目的在于做到最少配置。其他的的I

  • 最近在使用IoC进行一个较复杂的项目进行架构,在IoC的选择上让我很是纠结。首先我不喜欢大量的配置文件进行配置,那简直是噩梦,比学习一门编程语言还痛苦。我喜欢前一段时间看EF的CodeFirst的那种模式,一切尽在代码控制;其次要轻,框架里面的大多数功能我能用上多少呢?甚至于可能你永远都不会知道。尝试过自己实现了简单的IoC功能,也的确在很多项目用到了,但是对于自己的能力还是有所了解的,更希望还是

  •      要使用Ninject者,想必对依赖注入都比较了解,作为众多依赖注入容器之一的Ninject,和.net结合的很紧密,在开发ASP.NET MVC网站时,使用Ninject作为默认的实例构造容器很方便。当然,除了依赖注入以外,Ninject还提供有许多其他用处,也可用于其他架构的项目中,此处仅介绍在ASP.NET MVC中使用Ninject提供依赖注入管理。      在一个系统中,我们需

  • 利用ninject 统计商品价格 1、创建一个MVC空白项目 2、程序包管理控件台引用 Install-Package Ninject -version 3.0.1.10 Install-Package Ninject.Web.Common -version 3.0.0.7 Install-Package Ninject.MVC3 -Version 3.0.0.6 3、创建商品类 public

  • 以下为DI控制反转个人理解烦请各位大牛指教~ 编写程序时我们应当遵循抵耦合高内聚的原则(各个功能模块互不依赖). 我们可以利用面向对象里面接口的特性来进行DI控制反转,让功能模块全部依赖接口,而不依赖具体的实现类,当程序跑起来以后通过注入的方式注入具体的实现类如以下代码:   /// <summary> /// 购物车类 /// </summary> public clas

  • 什么是Ninject Ninject是一套.Net平台下的高效,超轻量级的依赖注入库。它可以帮助你实现应用程序的松耦合,高内聚,同时也能很灵活的把它们进行组合在一起。借助与Ninject的帮助,代码的使用,复用,测试和修改变得异常的简单。 为什么使用Ninject 既然在.Net平台下依赖注入已经很普遍,同时也已经有了好几个依赖注入库。为什么我们还要另外编写一套呢? 首先,目前其他框架依赖于XML

  • 使用评价 1.         因为ninject作为一个针对.NET的开源IOC框架其存在一些理念,还有应用上的问题;“没有配置文件IOC“,但是通过什么让组件解耦呢?ninject有扩展组件支持配置文件的方式,但是配置文件的灵活性差,而且对配置文件的封装很粗糙等,作为一个开源架构,没有热度,在很大程度也让本人重新考虑是否再使用。

  • <bind service="ILogger" to="ConsoleLogger" /> 1. 下载Ninject。http://www.ninject.org/download.html  1.1 如果有NuGet,创建一个控制台应用,在NuGet 的图形界面中搜索Ninject,然后安装。 2. Win Vista以后的系统上,要先unblock再解压,方法是文件属性》General页》点击

  • 原文地址:http://www.cnblogs.com/coolcode/archive/2009/11/10/Ninject.html   前言 前段时间看Mvc最佳实践时,认识了一个轻量级的IOC框架:Ninject。通过google搜索发现它是一个开源项目,最新源代码地址是:http://github.com/enkari/ninject/tree/master 用户向导:http://ni

  • 本系列笔记来自Ninject官方网站:http://www.ninject.org/wiki.html 一,Ninject介绍 Ninject是一个.net平台的依赖注入框架,借助于Ninject,我们使我们的程序变得更易于维护和修改。 手动实现依赖入注 看一个例子,现在我们要做一个控制台项目,一个士兵对抗恐怖分子的游戏。我们首先构造一个武器——剑。 1 class Sword 2 {

  • Ninject介绍: Ninject是一个轻量级的基于.Net平台的依赖注入框架。 Ninject能够帮助你把应用程序分离成一个个松耦合、高内聚的模块,然后用一种灵活的方式组装起来。通过使用Ninject配套你的软件架构,那么代码将会变得更加容易编写、重用性强、易于测试和修改。 我们可以在ASP.NET MVC4 配合 Ninject 3 使用。 下载地址:http://www.ninject.o

 相关资料
  • 在React中,想做依赖注入(Dependency Injection)其实相当简单。请看下面这个例子: // Title.jsx export default function Title(props) { return <h1>{ props.title }</h1>; } // Header.jsx import Title from './Title.jsx'; export defa

  • 依赖注入 Dependency Injection is a strong mechanism, which helps us easily manage dependencies of our classes. It is very popular pattern in strongly typed languages like C# and Java. 依赖注入是一个很强大的机制,该机制可以帮

  • 简介 Hyperf 默认采用 hyperf/di 作为框架的依赖注入管理容器,尽管从设计上我们允许您更换其它的依赖注入管理容器,但我们强烈不建议您更换该组件。 hyperf/di 是一个强大的用于管理类的依赖关系并完成自动注入的组件,与传统依赖注入容器的区别在于更符合长生命周期的应用使用、提供了 注解及注解注入 的支持、提供了无比强大的 AOP 面向切面编程 能力,这些能力及易用性作为 Hyper

  • 出自维基百科 Wikipedia: 依赖注入是一种允许我们从硬编码的依赖中解耦出来,从而在运行时或者编译时能够修改的软件设计模式。 这句解释让依赖注入的概念听起来比它实际要复杂很多。依赖注入通过构造注入,函数调用或者属性的设置来提供组件的依赖关系。就是这么简单。

  • 主要内容:什么是依赖注入,value,factory,provider,constant,实例,AngularJS 实例 - factory,AngularJS 实例 - provider什么是依赖注入 wiki 上的解释是:依赖注入(Dependency Injection,简称DI)是一种软件设计模式,在这种模式下,一个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,然后成为了该客户端状态的一部分。 该模式分离了客户端依赖本身行为的创建,这使得程序设计变得松耦

  • 我要的不是意见而是事实 我正在尝试选择一个新的DI。我有一些Guice的经验。总的来说,我想说它的一个优点是,当从scala需要与Java集成时,Guice可以完成这项工作。所以对于互操作性来说,这是一个明显的优势。 如果我们抛开这个互操作性问题不谈,谁能给我简单的比较一下 scaladi,guice,Macwire? 我对了解烫伤症还是新手。我发现令人惊讶的一件事是必须通过隐式参数在喷油器周围移

  • 问题内容: 我想知道接下来的两行之间是否有区别,为什么要使用其中之一(这两行按预期工作) 我是从AngularJS官方教程中获得的,我知道有关于此修改的解释,但我不理解它…… http://docs.angularjs.org/tutorial/step_05 提前致谢! 问题答案: 如果缩小第一行,则会得到: 依赖注入将无法再工作,因为角度不知道什么和有。比较一下以缩小第二个版本: 该函数的参数