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
    }
,如需转载请自行联系原博主。
目录
相关文章
|
4月前
|
Cloud Native Java 数据库
深入理解Micronaut依赖注入:提高应用灵活性的最佳实践
【9月更文挑战第5天】Micronaut是一个轻量级全栈业务框架,支持Java与Groovy语言,以其优秀的性能和对云原生特性的深度集成而备受关注。本文探讨Micronaut中的依赖注入机制,通过示例展示如何利用构造函数注入、字段注入及方法注入等方式提高应用灵活性。通过合理的依赖注入策略,如使用`@Qualifier`注解选择具体实现或条件化注册Bean,可构建更易扩展和维护的应用。Micronaut简化了这一过程,使开发者能专注于业务逻辑。
67 2
|
8月前
|
Java 数据库连接 开发工具
探索轻量级 Java 开发利器 - Spring 框架
探索轻量级 Java 开发利器 - Spring 框架
74 3
BXA
|
设计模式 开发框架 监控
Spring Framework构建优雅简洁的Java应用
Spring Framework是一个开源的Java开发框架,提供了一系列底层的架构和模式帮助Java开发人员简化企业级应用的开发过程。
BXA
671 0
|
XML 前端开发 Java
搭建简易SpringFrame-ioc框架
搭建简易SpringFrame-ioc框架
|
XML 开发框架 前端开发
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(下)
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(下)
|
druid Java 程序员
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(上)
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(上)
|
C#
【我们一起写框架】C#的AOP框架
原文:【我们一起写框架】C#的AOP框架 前言 AOP,大家都是听过的,它是一种面向切面的设计模式。 不过AOP虽然是被称为设计模式,但我们应该很少能看到AOP设计的框架。为什么呢? 因为,AOP单独设计的框架几乎是无法使用的。
918 0
|
前端开发 JavaScript 容器
|
C#
一个轻量级AOP的实现(开源)
事先声明,本项目参考AOP in C#和园内大神张逸的文章,思路神马的都不是自己的!     为了让项目的代码看起来更干净,需要一个AOP!     于是就实现了一个非常简单的,非常轻量级,有多轻量级呢?     实现的AOP叫做Earthworm(蚯蚓,为什么叫这个?因为它小,它会疏通!,项目的本意也是这样,所以就叫这个!),命名空间Earthworm下有8个代码文件,包括4个公开接口,1个公开特性,1个公开的抽象类,2个内部类。
893 0