面向接口编程总结

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

 

面向接口:

契约与履行;

一致性;

 

机制复用;代码复用;

 

接口的双重性:

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

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

 

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

面向抽象编程;

面向联系编程;

面向标准编程;

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

 

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

 

定义接口:

实现接口:

功能对接:可替换对接;

 

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

 

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值