Ninject超轻量级的依赖注入工具

简介:

Ninject可以帮助我们解耦,提高类的内聚度,它的使用非常简单,看下面代码:

首先下载Ninject.dll这个动态链接库文件,可以到DLL大全里下载

 public interface ISay
    {
        void Write(string message);
    }
 
    public class ChinaSay : ISay
    {
        public void Write(string message)
        {
            Console.WriteLine(String.Format("早上,中国人说:{0}", message));
        }
    }
 
    public class USASay : ISay
    {
        public void Write(string message)
        {
            Console.WriteLine(String.Format("早上,美国人说:{0}", message));
        }
    }
 
 
    internal class MyModule : Ninject.Modules.NinjectModule
    {
        public override void Load()
        {
            Bind<ISay>().To<USASay>();
        }
    }

调用也十分方便 :

 IKernel kernel = new StandardKernel(new MyModule());
 
 ISay logger = kernel.Get<ISay>();
 logger.Write("早上好");

 

当然如果不使用Ninject也可以通过其它方法实现依赖注入,比如构架函数,看代码:

 
    /// <summary>
    /// 构架函数的依赖注入
    /// </summary>
    internal class Factory : ISay
    {
        ISay _isay;
        public Factory(ISay isay)
        {
            this._isay = isay;
        }
 
        #region ISay 成员
 
        public void Write(string message)
        {
            this._isay.Write(message);
        }
 
        #endregion
    }
,如需转载请自行联系原博主。
目录
相关文章
|
XML 前端开发 Java
搭建简易SpringFrame-ioc框架
搭建简易SpringFrame-ioc框架
|
设计模式 Java API
轻量级DI框架Guice使用详解
在日常写一些小工具或者小项目的时候,有依赖管理和依赖注入的需求,但是Spring(Boot)体系作为DI框架过于重量级,于是需要调研一款微型的DI框架。Guice是Google出品的一款轻量级的依赖注入框架,使用它有助于解决项目中的依赖注入问题,提高了可维护性和灵活性。相对于重量级的Spring(Boot)体系,Guice项目只有一个小于1MB的核心模块,如果核心需求是DI(其实Guice也提供了很低层次的AOP实现),那么Guice应该会是一个合适的候选方案。
371 0
轻量级DI框架Guice使用详解
|
C# 容器
控制反转/依赖注入简明教程
控制反转/依赖注入简明教程
90 0
|
C# 容器
控制反转_依赖注入简明教程
控制反转_依赖注入简明教程
101 0
|
Java Spring 容器
【Spring注解驱动开发】自定义组件如何注入Spring底层的组件?看了这篇我才真正理解了原理!!
最近,很多小伙伴出去面试都被问到了Spring问题,关于Spring,细节点很多,面试官也非常喜欢问一些很细节的技术点。所以,在 Spring 专题中,我们尽量把Spring的每个技术细节说清楚,将透彻。
163 0
【Spring注解驱动开发】自定义组件如何注入Spring底层的组件?看了这篇我才真正理解了原理!!
|
前端开发 JavaScript 容器
|
容器 NoSQL Redis