可能大家基本上都知道Interface是接口的意思,也知道怎么定义一个接口,但是为什么要用到接口呢?都用在什么样的应用场景下呢?欢迎大家讨论一下。

解决方案 »

  1.   

    背景:
    你想开发一类,但有些方法只要要求函数签名:1)参数类型;2)返回类型;3)函数名称,而具体实现可能有多种版本,比如:取的数据库连接对象DbConnection,人家可能是SqlConnection或OldDbConnection。
    解决:
    1)使用基类:定义为abstract或virtual方法,但基类只能是一个,太宝贵
    2)使用接口:要求人家在使用你的类时必须实现该接口。
      

  2.   

    当程序可同时使用两套数据库定义一个接口内有方法public interface 数据库
    {
       get(){}
    }
    public class mssql:Iperson
    {
       get()
       {}
    }public class oracle:Iperson
    {
       get()
       {}
    }main()
    {
      数据库 对象=new mssql();
      数据库 对象2=new oracle();
    }
      

  3.   

    接口解决了不同层之间的联系,使得不同层开发人员只需要了解接口协议便可以开发自己所在的层,比如public interface 数据库
    {
        DataTable GetArticleAll();
    }开发业务逻辑的兄弟只需要了解到这个方法返回一个文章列表 他只需要去New 一个通过该接口实现的实例然后可以使用该方法完成所需,至于这个方法如何实现他不必关心
    DAL层的兄弟也只需要关心如何实现该接口返回一个文章信息的数据源``这样接口就成了一种相互合作的协议···
    更重要的是在一些比较大的接口能让程序有很好的扩展性,比如我产生如上数据源的既可以用ACCESS又可以用MSSQL只需要按需求返回数据源就行了 而且接口是允许多继承的!而基类只有一个!