• 利用Ninject实现依赖注入 Kevin


    与其手动费时费力地实现,不如利用Ninject方便的实现我们的需求。

    Ninject如何将你需要的类型返回给你


    拿前面的例子,士兵类:

     1 class Samurai 
     2 {
     3     readonly IWeapon weapon;
     4     public Samurai(IWeapon weapon) 
     5     {
     6         this.weapon = weapon;
     7     }
     8 
     9     public void Attack(string target) 
    10     {
    11         this.weapon.Hit(target);
    12     }
    13 }

    而Ninject希望这样获取具体的士兵类:

    IKernel kernel = new StandardKernel();
    var samurai = kernel.Get<Samurai>();

    Ninject会利用构造函数获取Samurai的实例,但Samurai的构造函数中包含一个IWeapon接口,而IWeapon接口是不可以实例化的。Ninject采用的方式是,typebinding,

    typebinding是将具体的类和要实现的接口(抽象类)进行绑定的技术。就这个例子来说,

    Ninject会这样实现:

    1 Bind<IWeapon>().To<Sword>();

    这句代码的意思是,当Ninject碰到需要实例化IWeapon接口的时候,它会实例出Sword对象以满足IWeapon的需要。

  • 相关阅读:
    HTML if条件注释解读
    Springboot整合logback日志系统
    Springboot @Valid 参数校验
    JDK1.8 版的if else
    Android获取手机定位坐标
    CentOS8安装JDK
    Vue全局配置文件
    git学习
    百度前端面试题—基础
    前端知识网络
  • 原文地址:https://www.cnblogs.com/kfx2007/p/3120580.html
Copyright © 2020-2023  润新知