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. BZOJ 1010: [HNOI2008]玩具包装toy

    职务地址:http :// www . lydsy . com / JudgeOnline / problem . php ? id = 1010 题目大意:见原题. 算法分析: 设s[i]为c[i] ...

  2. 用Maven整合SpringMVC+Spring+Hibernate 框架,实现简单的插入数据库数据功能

    一.搭建開始前的准备 1.我用的MyEclipse2014版,大家也能够用IDEA. 2.下载Tomcat(免安装解压包).MySQL(zip包下载地址 免安装解压包,优点就是双击启动,最后我会把ba ...

  3. AMR音频文件格式分析

    AMR音频文件格式分析 1 概要 如今非常多智能手机都支持多媒体功能,特别是音频和视频播放功能,而AMR文件格式是手机端普遍支持的音频文件格式.AMR,全称是:Adaptive Multi-Rate, ...

  4. MVC中的其他新特性

    MVC中的其他新特性 (GlobalImport全局导入功能) 默认新建立的MVC程序中,在Views目录下,新增加了一个_GlobalImport.cshtml文件和_ViewStart.cshtm ...

  5. 大数据系列修炼-Scala课程02

    Scala数组操作实战详解 接着昨天的课程,下面我们继续学习关于Scala数组操作详解.Scala数组的定义 //数组定义 //定长数组格式 /** * val arrayName = new Arr ...

  6. spring中<tx:advice></tx:advice>是什么意思

    <tx:advice id="tv" transaction-manager="transactionManager"> <tx:attrib ...

  7. windows下系统移植到linux下出现的问题

    今天遇到了一个之前没有遇到的问题,记录一下. 我们是在windows下进行开发的,最终系统是部署在linux服务器上. 在windows一切正常,但是部署到linux下时,有些功能不能用了.通过log ...

  8. 堆C数组实现

    堆栈是一个最后出来该数据结构. 栈的基本操作包含:入栈,出栈,初始化栈,清空栈,遍历栈. C代码例如以下: #include <stdio.h> #define MaxSize 20 ty ...

  9. 【转】细说Cookie

    阅读目录 开始 Cookie 概述 Cookie的写.读过程 使用Cookie保存复杂对象 Js中读写Cookie Cookie在Session中的应用 Cookie在身份验证中的应用 Cookie的 ...

  10. linux通过key区别登陆的人

    key区分登录用户 脚本放 /etc/profile.d,会默认登录的时候执行, 类似于 #!/bin/bash # filename: /etc/profile.d/set_log_file.sh ...