面向接口编程到底有什么好处,

面向接口编程在实际开发中到底有什么好处?

网上说了一大堆,包括结构清晰,类之间通信简单易懂,扩展性好,提高复用性等等。

在我开发过程中,我都用到了面向接口编程,可是除了觉得麻烦,真的看不到什么好处。

spring中定义service接口,dao接口,除了多写个接口外都看到有什么好处。

而且实际开发中我们公司压根就没用到接口编程,也没觉得有什么不妥。

难道仅仅是因为jdk,服务器等用到了面向接口编程,我们也跟风吗?

 

我真的不是太理解,也许是我太菜,各位大牛,望指点小弟一番。

 

 

说明下:我开发过的项目都比较小。

7个回答

为了能通过编译
这帖该转问答区了
脚本语言可以轻松的
var a = B/var a = A
a。getResult() 
但是java不行
只能让A和B实现一个接口C
然后就可以
C a = A/ C a = B
a。getResult()
当你有一个X调用不同的逻辑但是相同类型的对象时候
就可以
X{
C a ;
if (condition==1){
a= A
}else{
a= b
}
a.getResult();
}
如果你对设计模式有所了解
你就会发现更多接口的强大之处
(其实不强大,但是到了java这种语言里,就、、、、、)

dao么。。。
好测试业务逻辑啊。。。

倒时候测试业务逻辑的时候一mock,全都搞定了啊。。。

[size=large][color=red]我开发过的项目都比较小。[/color][/size]
这个就是重点,项目小的话为了快速开发和响应需求,是没必要搞那么多接口

如果你在一个大项目中待一段时间的话,你就能真正体会到好处,
(类之间通信简单易懂,扩展性好,提高复用性,扩展性,松耦合)

同意楼上 :idea: 小的项目完全可以直接对接实现类.

在小项目中,是体验不到的。使用接口编程,易于程序扩展,降低程序耦合性。
举个常用的例子说吧,你有个方法为:public viod doxx(ArrayList arraylist),方法调用时,参数必须为ArrayList对象。某天,当参数需要更换为其他集合类时,必须更改代码;此时如果用接口的话,就不须了;将方法更改为public viod doxx(List list),方法调用时,参数就很灵活了,可以传入ArrayList、LinkedList等等,这样从而降点耦合了。

去欣赏下Spring吧。

我也迷茫过,,后来懂了,,,其实就是应对需求的“变化”!如果你一个产品三年都不要更新,那真没有必要用接口,面向接口编程说到底是解耦!
如果解耦不懂,你一定遇到过需要要一个小的功能改动,而你要么无从下手,要么在代码中改一大堆!说明的代码耦合太深!面向接口编程的好处是,
之前的主要代码不需怎么改动,甚至一个字都不要改动,只增加一个类就行了,因为高层模块依赖接口,不依赖你新增的功能,你写一个新功能,实
现接口就行了。。。。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问