基于接口(抽象)而非实现编程的设计思想

基于接口而非实现编程的设计思想,首先理解接口是什么?

广义上“接口”有两类,第一类是面向对象编程语言中的抽象类(如java中的interface类、abstract类),第二类是两个系统或服务之间的API或协议等。

那么为什么要基于接口而非实现编程,这样做有什么好处?

基于接口而非实现编程,将接口和实现相分离,封装不稳定的实现,暴露稳定的接口。上游系统或服务(简称上游)面向接口,不依赖不稳定的实现细节,这样当实现发生变化的时候,上游的代码基本上不需要做改动,以此来降低代码间的耦合性,提高下游代码的扩展性。简单理解就是增加了上游的稳定性,降低上下游的耦合性,提高了下游的扩展性。

为什么上游会更稳定性?

上游基于下游的接口进行开发,接口是实现的高度抽象,不会经常变化,而且编写简单。只要接口不变,下游的实现不管如何修改都不会影响到上游。

为什么会降低上下游的耦合性?

接口是稳定的且可以先于实现提供,只要上下游定义好接口,就可以分别开发。不仅如此,对于第二类“接口”还可以分别编译、部署。

为什么提高了的扩展性?

一个接口可以有多个实现,通过添加不同的实现,为上游提供更多的变化。不仅如此,对于第二类“接口”还可以提供更多方法,给上游更多的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值