面向接口编程总结
关键词:变化、分离、解藕;
面向接口:
契约与履行;
一致性;
机制复用;代码复用;
接口的双重性:
接口与接口之间:定义机制;
接口与实现之间:定义扩展;定义标准;
面向接口编程是面向分离编程,
面向抽象编程;
面向联系编程;
面向标准编程;
面向接口编程具有更大的稳定性;
接口就是规划标准,有了标准去遵守就好扩展。
定义接口:
实现接口:
功能对接:可替换对接;
接口 抽象 很容易被松偶合这个词汇忽悠,实际上就是定制一套方法,所有实现由各自去完成。
好比定义一套产品数据管理(增、删、改、查)的抽象方法,或者接口声明这些方法,那么在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