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文件下载地址如下:
- .NET Framework 3.5
- .NET Framework 2.0
- .NET Compact Framework 3.5
- .NET Compact Framework 2.0
- Silverlight 2.0
- Silverlight 3.0
- Mono 2.0
代码:
Source:
Ninject2.0的下载地址如下:
Ninject2.2的版本
- .NET Framework 4.0
- .NET Framework 4.0 for non web applications
- .NET Framework 3.5
- .NET Framework 3.5 for non web applications
- Silverlight 2.0
- Silverlight 3.0
- Silverlight 4.0
- Windows Phone 7
- Mono 2.0
- Mono 2.0 for non web applications.
- .NET Compact Framework 3.5
代码:
随笔分类 -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