Ninject的项目情况

首先,它有很多的项目组成,适合不同的环境,当然它有几个基本的核心库。

为什么它会有这么多的库呢?因为轻量级,易于使用和被扩展是它的目标,代码越是少,你使用代码的可能性越高嘛。。。

Ninject.Web.Common  :用于Web扩展和WCF的扩展。
Ninject.Web.Mvc:  用于ASP.NET MVC1和MVC2,好吧,MVC3我不是很清楚,不过Weapsy这个项目是基于MVC3的,所以我暂且认为是支持的。。
Ninject.Web  :用于ASP.NET WebForm。
Ninject.Extensions.Wcf :看名字就知道了,仅仅就支持WCF。。。
Ninject.Extensions.Conventions: 提供配置,用于修改Ninject的默认约定。
Ninject.Extensions.Factory:  用于自动创建工厂和实例对象。
Ninject.Extensions.Interception: 用于拦截。
Ninject.Extensions.NamedScope :允许绑定定义范围.
Ninject.Extensions.ContextPreservation: 用于上下文的保存。 经常和NameScope结合起来一起用。
Ninject.Extensions.ChildKernel:为Ninject提供内核定义。
Ninject.Extensions.DependencyCreation:
Ninject.Web.Mvc.FluentValidation:用于MVC Fluent Api的验证。
Ninject.Extensions.Logging: 日志记录。
Ninject.Extensions.bbvEventBroker:
Ninject.Extensions.WeakEventMessageBroker:
Ninject.Extensions.MessageBroker:消息代理。
Ninject.Extensions.Xml: 基于XML的模块加载Ninject。
Ninject.MockingKernel:  用于模拟。
Ninject.Extensions.WF:用于支持工作流。

差不多就这样了,好多。。。。。 找自己感兴趣的吧~~~   其他没有解释的模块,以后清楚了再记录。

最后注意了:上面都是 Ninject的扩展,Ninject这个项目也是单独存在的,这个是核心,其他的按需下载使用。

Ninject项目的WIKI地址:https://github.com/ninject/ninject

最后关于Ninject版本的问题,有不同的版本,支持.NET Framework2.0  、3.5 、4.0分别有不同的下载支持

Ninject1.5和2.0的区别在于后者对应的版本使用大量的Linq和新的特性。

Ninject1.5文件下载地址如下:

代码:

Source:

Ninject2.0的下载地址如下:

Ninject2.2的版本

代码:

代码下载地址

 

随笔分类 -Ninject

Contextual Binding

2012-03-25 23:42 by _风行, 123 visits, 网摘收藏编辑

摘要: Contextual Binding,上下文绑定,即根据不同的环境使用不同接口的实例。 先说下为什么要使用上下文绑定。 希望大家能学到更多的东西,多想想为什么,这点会对你产生非常大的影响。 通常我们会有这么几种需求: 1 Multiple bindings,多重绑定,用于多重的注入。 多重绑定,我们的对象其实是一组接口的集合。用代码的方式就是这样,程序员最喜欢的~~~ c...阅读全文

为什么要使用Ninject

2012-03-24 01:54 by _风行, 287 visits, 网摘收藏编辑

摘要: 模块化 如果一但你把应用程序分为多个组件或者模块,你必须得组合它们。控制反转可以解决这个问题。这个比搭线式或者依靠一串的XML来描述组件要好的多。(用XML来描述是控制反转一种实现方式,我们的目的是组合组件,控制反转是达成目标的理论,Ninject和XML描述都是属于解决方案。当然还会有很多的解决的手段!!所以希望大家理性思考,选择最适合的,这里不是一篇推荐使用Ninject的文章,...阅读全文

Ninject的项目情况

2012-03-22 23:27 by _风行, 456 visits, 网摘收藏编辑

摘要: 首先,它有很多的项目组成,适合不同的环境,当然它有几个基本的核心库。 为什么它会有这么多的库呢?因为轻量级,易于使用和被扩展是它的目标,代码越是少,你使用代码的可能性越高嘛。。。 Ninject.Web.Common :用于Web扩展和WCF的扩展。 Ninject.Web.Mvc: 用于ASP.NET MVC1和MVC2,好吧,MVC3我不是很清楚,不过Weapsy这个项目是基于MVC...阅读全文

Ninject的简单介绍

2012-03-22 22:59 by _风行, 173 visits, 网摘收藏编辑

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

Ninject的项目情况的更多相关文章

  1. 主攻ASP.NET.4.5.1 MVC5.0之重生:空地搭建一个包含 Ninject框架 项目

    1.创建一个空白解决方案 2.添加一个类库 名称为XXX.Domain 3.添加一个ASP.MVC 名称为XXX.WebUI 4.选着空模版,勾选MVC核心引用 5.添加单元测试项目XXX.UntiT ...

  2. 说说最近的项目情况吧(OLCS Part1)

    这几天一直在做从04年项目的老代码移植到用portlet spring mvc框架的系统中,由于对业务逻辑的不清楚,代码没有认真的研究,导致各种问题.希望自己长点心吧♥

  3. MVC跨项目路由

    我们在实际应用开发中,经常遇到多人共同开发维护同一个项目情况,所以不免会出现其中一个人代码出现bug质量问题导致整个项目就原地“爆炸”的惨状.在之前公司经常遇到某个人忘记更新(我就做个此事[" ...

  4. 11、项目经理要阅读的书籍 - IT软件人员书籍系列文章

    项目经理是负责软件项目的总体把控的角色.项目经理在项目中是一个管理者的角色,他需要对项目的9大领域进行学习,同时针对项目的范围.进度.沟通和风险进行处理,让项目能够按时保质保量的完成. 项目经理需要学 ...

  5. 【WEB API项目实战干货系列】- API登录与身份验证(三)

    上一篇: [WEB API项目实战干货系列]- 接口文档与在线测试(二) 这篇我们主要来介绍我们如何在API项目中完成API的登录及身份认证. 所以这篇会分为两部分, 登录API, API身份验证. ...

  6. 实施项目--.NET实现仓库看板的一些感想

    从一名技术开发人员到实施人员的蜕变,从不同的角度看待同一个问题,或许会有不一样的结果.这里记录一下最近一个项目实施的案例,非常有感触! 一. 项目情况简介 本次项目是给一个国外生产型企业做仓库方面的系 ...

  7. 如何将angularJs项目与requireJs集成

    关于angularjs.requirejs的基础知识请自行学习 一.简单事例的项目目录如下: -index.html -scripts文件夹 --controller文件夹 --- mianContr ...

  8. SPSS Modeler数据挖掘项目实战(数据挖掘、建模技术)

    SPSS Modeler是业界极为著名的数据挖掘软件,其前身为SPSS Clementine.SPSS Modeler内置丰富的数据挖掘模型,以其强大的挖掘功能和友好的操作习惯,深受用户的喜爱和好评, ...

  9. Visual Studio项目模板与向导开发

    在[Xamarin+Prism开发详解系列]里面经常使用到[Prism unity app]的模板创建Prism.Forms项目: 备注:由于Unity社区已经不怎么活跃,下一个版本将会有Autofa ...

随机推荐

  1. Java依据Url下载图片

    package com.ronniewang.downloadpicture; import java.io.DataInputStream; import java.io.File; import ...

  2. gcd&&lcm

    1011 最大公约数GCD 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 输入2个正整数A,B,求A与B的最大公约数.   Input 2个数A,B,中 ...

  3. 第2章 简单工厂模式(Sample Factory)

    原文 第2章 简单工厂模式(Sample Factory) 一般用到的场景:对象多次被实例引用,切有可能会发生变化 拿我们的简单三层举例子 先定义dal层 1 2 3 4 5 6 7 8     cl ...

  4. 采纳ajax提交POST样本数据

    问题叙述性说明 我们会form该input和checkbox提交给异步数据phpserver.处理后的回. 提交之后显示的位置: 难点分析 採用from表单的onsubmit属性阻止表单的提交 < ...

  5. 关于Promise的一个案例

    题目:红灯三秒亮一次,绿灯一秒亮一次,黄灯2秒亮一次:如何让三个灯不断交替重复亮灯?(用Promise实现) 解答思路一: function red(){ console.log('red'); } ...

  6. Eclipse的安装及汉化图解

    Eclipse的安装及汉化图解 Eclipse的安装 有了JDK,你可以编译Java源码,运行Java程序,但是还没有代码编辑器,没有版本管理工具,也不能方便的管理工程文件,不能与团队协作.安装Ecl ...

  7. Swift中文教程(二)--简单值

    原文:Swift中文教程(二)--简单值 Swift使用let关键字声明常量,var关键字声明变量.常量无需在编译时指定,但至少要被赋值一次.也就是说,赋值一次多次使用: var myVariable ...

  8. 堆VS栈

    c#堆VS栈(Part One) 前言 本文主要是讲解C#语言在内存中堆.栈的使用情况,使读者能更好的理解值类型.引用类型以及线程栈.托管堆. 首先感谢原文作者:Matthew Cochran 为我们 ...

  9. CSS_img标签usemap属性图片中选择区域加入超链接

    例子: <IMG usemap="#Map" alt="" src="/images/banbian.jpg"> <map ...

  10. 我的MYSQL学习心得(九)

    原文:我的MYSQL学习心得(九) 我的MYSQL学习心得(九) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL ...