zoukankan      html  css  js  c++  java
  • 面向接口编程总结

    关键词:变化、分离、解藕;

    面向接口:

    契约与履行;

    一致性;

     

    机制复用;代码复用;

     

    接口的双重性:

    接口与接口之间:定义机制;

    接口与实现之间:定义扩展;定义标准;

     

    面向接口编程是面向分离编程,

    面向抽象编程;

    面向联系编程;

    面向标准编程;

    面向接口编程具有更大的稳定性;

     

    接口就是规划标准,有了标准去遵守就好扩展。

    定义接口:

    实现接口:

    功能对接:可替换对接;

    接口 抽象  很容易被松偶合这个词汇忽悠,实际上就是定制一套方法,所有实现由各自去完成。

    好比定义一套产品数据管理(增、删、改、查)的抽象方法,或者接口声明这些方法,那么在Oracle或SQLServer的实现上只要遵循这个规划,那么上层只需要面向接口编程不用改动代码,而数据层可以轻松切换到Oracle或者是SQLServer。也就是所谓的开闭原则。

    接口的好处其实要在编程中慢慢体会,分离实现,隔离变化。多看看设计模式上的例子就会发现接口的妙用。

    接口就是标准规范,就是定死了一个框架,你根据这个框架去执行!有了标准去遵守就容易扩展!我们只需要面向标准编程,而不用针对具体的实现类! 

    总结:接口也就是一种规范!面向接口编程就类似于现实中遵守公司规定一样!这样增强了系统的灵活性、可维护性,减小影响!实现项目中常说的:高内聚、低耦合! 

    https://blog.csdn.net/hbcztutu/article/details/78860816

    https://blog.csdn.net/jj_nan/article/details/70161086

    https://blog.csdn.net/qq376430645/article/details/9927225?utm_source=blogxgwz3

    下面是我对面向接口编程的理解

    优点:

    1.程序结构清晰,使用方便

    2.接口经过合理设计后,有利于程序设计的规范化,并可以并行开发,提高工作效率

    3.实现了程序的可插拔性,对于不同的需求切换不同的实现,降低了耦合度,随着系统复杂性的提高这个优势会越来越明显

    4.允许多重实现,弥补了继承的缺陷

    --------------------- 

    作者:泊川 

    来源:CSDN 

    原文:https://blog.csdn.net/wantken/article/details/31763669 

    版权声明:本文为博主原创文章,转载请附上博文链接!

    面向接口编程和面向对象编程的区别

    通过上文,我想大家对接口和接口的思想内涵有了一个了解,那么什么是面向接口编程呢?我个人的定义是:在系统分析和架构中,分清层次和依赖关系,每个层次不是直接向其上层提供服务(即不是直接实例化在上层中),而是通过定义一组接口,仅向上层暴露其接口功能,上层对于下层仅仅是接口依赖,而不依赖具体类。

    这样做的好处是显而易见的,首先对系统灵活性大有好处。当下层需要改变时,只要接口及接口功能不变,则上层不用做任何修改。甚至可以在不改动上层代码时将下层整个替换掉,就像我们将一个WD的60G硬盘换成一个希捷的160G的硬盘,计算机其他地方不用做任何改动,而是把原硬盘拔下来、新硬盘插上就行了,因为计算机其他部分不依赖具体硬盘,而只依赖一个IDE接口,只要硬盘实现了这个接口,就可以替换上去。从这里看,程序中的接口和现实中的接口极为相似,所以我一直认为,接口(interface)这个词用的真是神似!

    为什么要使用面向接口编程

    https://blog.csdn.net/z_Dendy/article/details/22725539

    1.关于接口的理解。 

      接口从更深层次的理解,应是定义(规范,约束)与实现(名实分离的原则)的分离。 

      我们在一般实现一个系统的时候,通常是将定义与实现合为一体,不加分离的,我认为最为理解的系统设计规范应是所有的定义与实现分离,尽管这可能对系统中的某些情况有点繁烦。 

      接口的本身反映了系统设计人员对系统的抽象理解。 

      接口应有两类:

             第一类是对一个体的抽象,它可对应为一个抽象体(abstract class); 

      第二类是对一个体某一方面的抽象,即形成一个抽象面(interface); 

      一个体有可能有多个抽象面。 

      抽象体与抽象面是有区别的。

    https://blog.csdn.net/paul342/article/details/47272077

    与面向接口编程对应的概念是对接。

    定义接口:

    实现接口:

    功能对接:可替换对接;

    https://bbs.csdn.net/topics/100054868

  • 相关阅读:
    洛谷P1948 [USACO08JAN]电话线Telephone Lines
    bzoj4152 [AMPPZ2014]The Captain
    洛谷P1396 营救
    洛谷P1821 [USACO07FEB]银牛派对Silver Cow Party
    洛谷P2002 消息扩散
    Uoj308【UNR #2】UOJ拯救计划
    洛谷P1937 [USACO10MAR]仓配置Barn Allocation
    洛谷P3740 [HAOI2014]贴海报
    洛谷P2344 奶牛抗议
    Android(java)学习笔记124:利用Service在后台播放背景音乐
  • 原文地址:https://www.cnblogs.com/feng9exe/p/9936834.html
Copyright © 2011-2022 走看看