面向接口编程总结

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

面向接口:

契约与履行;

一致性;

 

机制复用;代码复用;

 

接口的双重性:

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

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

 

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

面向抽象编程;

面向联系编程;

面向标准编程;

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

 

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

定义接口:

实现接口:

功能对接:可替换对接;

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

好比定义一套产品数据管理(增、删、改、查)的抽象方法,或者接口声明这些方法,那么在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

原文地址:https://www.cnblogs.com/feng9exe/p/9936834.html