新浦京81707con > 功能介绍 > 依赖注入是什么

原标题:依赖注入是什么

浏览次数:186 时间:2019-05-07

【转】3、注重注入是何许?

【转】3、依赖注入是哪些?,信赖注入

【转】3、信赖注入是怎么着?

 

 

接口

在说重视注入从前,先了然下怎么是接口。

咱俩在学编制程序的时候都精晓,接口的连带规则:(来源百度百科)

    1. 接口是三个引用类型,通过接口能够兑现多种传承。
  • 2. C#中接口的分子无法有new、public、protected、internal、private等修饰符。
  • 3. 接口中只可以表明"抽象"成员(所以无法一向下一步对接口实行实例化(即无法运用new操作符声澳优(Karicare)个接口的实例对 象)),而不能够宣称共有的域也许个人的成员变量。
    1. 接口申明不包罗数据成员,只可以分包方法、属性、事件、索引等成员。
  • 5. 接口名称一般都是“I”作为首字母(当然不这么阐明也可以),这也是接口和类的3个界别之1。
  • 陆. 接口成员的造访品级是暗中认可的(默感到public),所以在注解时不可能再为接口成员钦点别的访问修饰符,不然编写翻译器会报错。
  • 柒. 接口成员不可能有static、abstract、override、virtual修饰符,使用new修饰符不会报错,但会付出警告说不必要注重字new。
  • 8. 在宣称接口成员的时候,不准为接口成员编写具体的可实行代码,也便是说,只要在对接口举办宣示时指明接口的分子名称和参数就足以了。
  • 九. 接口壹旦被达成,落成类必须完结接口中的全体成员,除非达成类本人是抽象类(通过切实的可施行代码实现接口抽象成员的操作)。

                                                                                                                            

洋洋时候来看这么多的概念,也是云里雾里的。项目中的接口使用也是根据老代码依葫芦画瓢。尽管是温馨练手的代码也许demo,也是绝非接纳接口。(给和煦的借口正是,笔者只是做些小的东西,根本就无需运用接口同样能够跑很溜啊。)

 

接口是如何?(说说作者要好的知道,不必然对)

接口就是为着更动多少个或然过时恐怕不当的落实而计划的。就想大家的管理器,里面就随处都是接口。usb、内部存款和储蓄器条、硬盘、电池、键盘...等等都以有各自的接口。我们能够透过硬盘接口换个越来越大的硬盘或然换个越来越快的机械硬盘。要是键盘坏了,也得以通过键盘接口买个新的键盘换上去。那正是接口鲜明的利益。接口也能够知道成我们的预约。约定了一定接口的大大小小功能等等。

 

这就是说大家写代码也是同样,在好几地点可能会日常退换,逻辑会平时修改的地点选用接口约定。上边大家就用硬盘的接口来做示范吧。

先是定义一个硬盘接口。(三个name属性,3个读一个写的章程)

/// <summary>
/// 硬盘接口
/// </summary>
interface IHardDisk
{
    /// <summary>
    /// 硬盘的名字属性
    /// </summary>
    string name { get; }
    /// <summary>
    /// 读取数据方法
    /// </summary>
    void read();
    /// <summary>
    /// 写数据
    /// </summary>
    void write(string str);
}

然后大家买了2个200G的硬盘,它达成了上边的接口。

public class HardDisk200 : IHardDisk
{
    public string name
    {
        get
        {
            return "我是200G硬盘";
        }
    }

    public void read()
    {
        Console.WriteLine("我可以写入数据哦....");
    }

    public void write(string str)
    {
        Console.WriteLine(str);
    }

}

在微型Computer中利用那么些硬盘。

static void Main(string[] args)
{
    //这里的h就是一个插在接口上的设备
    IHardDisk h = new HardDisk200();
    h.read();
    h.write(h.name   ",我可以写入数据哦");


    Console.ReadKey();
}

 图片 1

某天,我们发掘那一个硬盘太小了,必要换个一T的。(那样大家得以存多数广大的录制>_<),那么买吧。

public class HardDisk1T : IHardDisk
{
    public string name
    {
        get
        {
            return "我是1T硬盘";
        }
    } 
    public void read()
    {
        Console.WriteLine("我可以写入数据哦....");
    } 
    public void write(string str)
    {
        Console.WriteLine(str);
    }
}

接下来怎么利用了?只要在Computer上的接口间接插上新的硬盘就ok了,别的的如啥地点方都不用改。

图片 2

 

那正是运用接口的补益。当某天我们开掘计算机太慢了,大家能够买个机械硬盘,直接在接口使用的地点换上就足以了,别的地点完全不用修改。

图片 3

如此,大家就可以在差别时代或分裂景观下灵活改变承袭实现了接口的此外对象,而不用修改其余地点的代码。

又或然说,实现了那么些接口的装置正是存款和储蓄设备。(它自然有存也终将能够储,也等于毫无疑问能够写入和读出多少。)

 

本文由新浦京81707con发布于功能介绍,转载请注明出处:依赖注入是什么

关键词: 新浦京81707con

上一篇:Python的数据类型,和浮点型数相互转换实例

下一篇:没有了