Ninject是一个IOC容器,用来解决程序中组件的耦合问题,它的目的在于做到最少配置。简单来讲就是 为我们选择一个想要的类来处理事务。

百度百科的解释:一个快如闪电、超轻量级的基于.Net平台的依赖注入框架。把应用程序分离成一个个松耦合、高内聚的模块,然后用一种灵活的方式组装起来。

一、Console项目使用

参考:[ASP.NET MVC 小牛之路]04 - 依赖注入(DI)和Ninject

NuGet引入:Ninject

C# Ninject使用
/// <summary>

        /// 1、简单的情况,实现类 没有依赖其他类

        /// </summary>

        public static  void Simple()

        {

            //一般的使用情况

            Business bus = new Business(new LinqValueCalculator());

            decimal result = bus.CalculatStockValue();

            Console.WriteLine(result);

 

            //使用Ninject。。LinqValueCalculator绑定接口

            //1、创建一个Ninject内核对象

            IKernel ninjectKernel = new StandardKernel();

 

            //2、将想使用的类型和他的接口进行绑定,告诉Ninject,当接收到一个实现IValueCalculater的请求的时候,

            //创建并返回LinqValueCalculator这个类,上面的两个关键字Bind,To可以帮助我们理解他的意思。

            ninjectKernel.Bind<IValueCalculater>().To<LinqValueCalculator>();

 

            //3、用Ninject的Get方法去获取IValueCalculator接口的实现

            //Ninject将自动为我们创建LinqValueCalculator类的实例,并返回该实例的引用。

            IValueCalculater calcImpl = ninjectKernel.Get<IValueCalculater>();

 

            //4、创建Business实例并注入依赖(calcImpl)

            Business business = new Business(calcImpl);

            Console.WriteLine(business.CalculatStockValue());

        }
View Code

相关文章:

  • 2021-09-12
  • 2021-07-01
  • 2022-03-03
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-18
猜你喜欢
  • 2022-12-23
  • 2021-12-09
  • 2021-09-10
  • 2021-11-11
  • 2021-06-27
  • 2022-12-23
相关资源
相似解决方案