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. 玩转Linux之- CentOS 7.0,启用iptables防火墙

    原文 玩转Linux之- CentOS 7.0,启用iptables防火墙 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall:sy ...

  2. poj2593 Max Sequence(两个不相交字段的最大总和与)

    转载请注明出处:http://blog.csdn.net/u012860063? viewmode=contents 题目链接:id=2593">http://poj.org/prob ...

  3. SICP 练习 (2.12)解决摘要 :不同的实现时间

    SICP 2.12 要求我们定义一个构造函数make-center-percent,它接收两个參数,分别代表中心点和一个误差百分比.我们须要通过这个构造函数产生一个区间.此外还须要定义一个选择函数pe ...

  4. 【Flume NG用户指南】(2)构造

    作者:周邦涛(Timen) Email:zhoubangtao@gmail.com 转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details ...

  5. [Error]EOL while scanning string literal

    有一个经常性的工作项目.需要一天的一些表数据到外部接口,但最近总是异常.今天检查的原因. 第一本地和测试环境中测试程序是没有问题,有网络环境只会在日志中抛出一个异常.产生主要的例外是推定异常数据. , ...

  6. Object.extend

    原文:[转载]Object.extend Object.extend = function (destination, source) { for ( var property in source) ...

  7. JavaBean中DAO设计模式介绍

    一.信息系统的开发架构 客户层-------显示层-------业务层---------数据层---------数据库 1.客户层:客户层就是client,简单的来说就是浏览器. 2.显示层:JSP/ ...

  8. 流动python - 八皇后问题简单解决方案

    思维: 使用DFS. 坐标的一维阵列的表达,在标行,元素列.A[i]=j它表示第一i女王就行了j柱. 以穿越线,由线(从上到下),决定其列(左到右),所以,不要推断冲突的行,和主斜线副斜线冲突. (行 ...

  9. 【百度地图API】让用户选择起点和终点的驾车导航

    原文:[百度地图API]让用户选择起点和终点的驾车导航 摘要: 如果用户搜索“从机场到火车站”,使用驾车导航DrivingRoute会默认显示一条结果.但同一个城市可能有多个机场和火车站,那么,如何用 ...

  10. Swift语言指南(一)--语言基础之常量和变量

    原文:Swift语言指南(一)--语言基础之常量和变量 Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处. Swif ...