zoukankan      html  css  js  c++  java
  • Ninject的简单介绍

         Ninject,是一个IOC的工具,就是我们经常说的控制反转。

        IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。

         先说下我对这个工具的感受:老是配置,烦死人了,什么XML,什么配置都没代码写的舒服,痛快。嘿嘿。。。 因为每次在定义Type类型的时候,还得去找下这个Assembly的签名。。。好累。这个工具可以让你的注入配置模块化。其他的好处自己体会拉。

        官网打出了这几个口号:

    •    Bend software to your will : 改变你的软件,更加的松耦合、高内聚
    •    Laugh in the face of change : 微笑着面对改变
    •    Use your sharpest tools :
    •    Write smarter software everywhere  :可以在任何地方运行,它是轻量级的。
    •    Be fast, be agile, be precise  :快,灵活,准确

     

    通常情况下我们会这么写我我们的代码:

    public class Samurai {
        public IWeapon Weapon { get; private set; }
        public Samurai(IWeapon weapon) 
        {
            this.Weapon = weapon;
        }
    }

    通过Ninject,构造函数中赋值的问题可以这样解决。

    public class WarriorModule : NinjectModule
    {
        public override void Load() 
        {
            this.Bind<IWeapon>().To<Sword>();
        }
    }

    注:Sword是实现IWeapon的一个类。

    舒服不?是否有点心动了吧。好吧,就是作为菜鸟的你,最少应该知道get;set;方法其实可以添加修饰符的。^_^别在写一个私有字段了哦,看见好多了,纠结,虽然我也曾经这么做过。。。。

  • 相关阅读:
    11.2~11.8 每周总结
    11.30~11.6 每周总结
    架构之美 图书笔记 03
    每周总结 10.26-11.1
    每周总结 10.19-10.25
    每周总结 10.12-10.18
    [Tips] centos下docker服务开机自启动
    [Notes] Linux内网穿透
    [Tips] python 文件读写
    [Tips] python 文件读写
  • 原文地址:https://www.cnblogs.com/fengxing/p/2412641.html
Copyright © 2011-2022 走看看