• C#基于接口的编程


    C#基于接口的编程

     ( By  Matthew Cochran March 06, 2006 )(设计模式的作者)

    当我们努力去构建可维护性,可重复使用和灵活的c#代码的时候,c#本身面向对象的性质给我们提供了50%
    的方便,使用接口编程给我们提供了剩下的50%。基于接口的编程提供了松散耦合,真正的基于组件编程,容易的维护而且代码容易复用,因为实现和接口是分离的。

    什么是接口?
    接口是一个没有实现代码的引用类对象,如果一个抽象类没有实现方法,都是public方法你就可以认为这是抽象类就是接口,抽象不能实例化。接口里面没有真是实现的属性或者方法他们只是被定义。所以接口不能做任何事情但是接口有和其他类或接口相互作用的规则。当我们谈论铅笔和铅笔刀的时候不用知道他们做什么和他们怎么做。只需要通过他们的接口使用他们
       public interface IPencil
        {
            void Write();
            bool IsSharp { get; }
        }
         public interface IPencilSharpener
        {
            void Sharpen(IPencil pencil);
        }
    *推荐接口使用“I”开头命名


    为什么使用接口?
    怎么驾驶一辆车或者怎么驾驶所有的车,我们不得不去学每个不同的车。这将是非常低效。但是如果我们学会处理汽车的接口将会非常有效,比如操作方向盘,转向,燃油和刹车。不用厉害这些接口是如何实现的,我们不用关心这些董事,因为这些接口和汽车的基本配置有着契约
    继续我们汽车的比喻,,,如果我们为一家公司生产汽车的组件,比如引擎,如果我们的引擎可以被多种类型的汽车使用这将是非常好的。这对我们的商业获得成功是非常关键的,如果我们需要卖引擎给多个买主。我们的顾客不需要知道我们如何实现这些接口(保留部分商业机密)。所以引擎真是是个“黑盒”,如果我们改变引擎,我只要保留相同的接口和契约,客户可以继续使用我们升级后的引擎。

    本文使用Blog_Backup未注册版本导出,请到soft.pt42.com注册。

  • 相关阅读:
    Orderly Class
    POJ2513 【并查集+欧拉路径+trie树】
    POJ2195 Going Home【KM最小匹配】
    洛谷P2604 最大流+最小费用最大流
    小数转分数
    威尔逊定理
    luogu P6564 [POI2007] 堆积木KLO 树状数组+dp
    Codeforces Round #644 (Div. 3) H——Binary Median 二分
    luogu P4933 大师 线性dp
    Codeforces Round #643 (Div. 2) D——Game With Array
  • 原文地址:https://www.cnblogs.com/zjypp/p/2319466.html
Copyright © 2020-2023  润新知