• c# interface 的理解(工厂模式)简单实例


    由于昨天在一个大公司面试,被c#中的一个interface给难住了,所以回来以后我就找了这些资料看了一下,有了一点感觉。记录下来,方便以后使用。

    c# interface定义:就是以前使用的类似于 API 的东西,别人告诉你一个类型,你在心得开发过程中可以使用。

    比如:

     

    interface ITest
      {
       string iText();
      }

      class Test:ITest
      {
       #region ITest Members

       public string iText()
       {
        // TODO:  Add Test.printText implementation
        return ("Test string.");
       }

       #endregion

      }

      class Test2:ITest
      {
       #region ITest Members

       public string iText()
       {
        // TODO:  Add Test.printText implementation
        return ("Test2 string.");
       }

       #endregion

      }

      class Factory
      {
       public static ITest create(int itype)
       {
        if(itype==1)
        {
         return new Test();
        }
        else
        {
         return new Test2();
        }
       }

      }


      private void button1_Click(object sender, System.EventArgs e)
      {
       ITest it=Factory.create(2);
       this.label1.Text=it.iText();
      }
     }

    Test 和 Test2 都是继承接口 ITest ,在使用ITest时候,使用了简单的Factory模式来建立,本来是使用了Rose来画一个UML模型上来也许讲解的更详细,但是Rose也是这次学习的一点,所以没有使用会,正在研究中.

    一个简单的实例,让我了解到:

    1、接口 Interface : 并不是我想象的那么可怕,如果我简单的理解就是一个户口登记的地方,在这里登记的用户(方法),在他的儿子(实现接口的类型: Test ,Test2)中,就必须承认Interface中的人员的存在,并且必须给安排一个位置(实现接口的内容)。所以接口的最简单的好处就是:保持了继承型,使更多的人联系起来。

    2、工厂模式:Facory Model:最开始接触这些东西是在Patterns In Java 的pdf中看到的,因为模式的编程方式是对接口编程的,所以开始理解这些方面的时候理解上有问题了。现在总算能明白一点点了。工厂模式就是(ITest)的新生儿(接口的实现类: Test,Test2)的户口登记处,到时候不管你要用那个儿子,只需要在这注册一下,就ok了。

    简单的一个实例,让我对接口interface和Factory Model有了最基本的认识,也是刚刚理解这些东西,所以肯定有一些漏洞,但是我会继续加油,努力把这部分学好的。

    加油!

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/alonesword/archive/2006/12/13/1441012.aspx

  • 相关阅读:
    Ext JS 6应用程序Build后出现“c is not a constructor return new c(a[0])”的处理
    安卓四大组件总览
    摆脱命令行,Ubuntu下配置Android开发环境
    【翻译】使用Sencha Ext JS创建美丽的图画(1)
    linux后台运行springboot项目
    AES地址栏传参加密
    最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
    阿里云服务器+ftp文件操作+基于Centos7的vsftpd配置
    解决服务器发回了不可路由的地址。使用服务器地址代替的问题
    解决vsftpd的refusing to run with writable root inside chroot错误
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/1842058.html
Copyright © 2020-2023  润新知