API是什么: 一篇讲透API

在之前一篇文章中,我们深入地讲了如何设计API。然而直到写到很后面,我才意识到我还没有认真地讲过到底API到底是什么

与1000个读者有1000个哈姆雷特类似,即使你让一个经验非常丰富的程序员给API一个定义,大概率他也会用一个例子来说明,比如说:哦API呀,你去看下微博的API文档就知道API是什么了。

但其实,这只是在说明XX是API而非API是什么。要理解API的定义,我们先把API的英文扩写祭出来:

API = Application Programming Interface

API的英文即Application Programming Interface首字母的缩写。不要被这么长的单词吓到,直译过来的意思就是:程序之间的接口。我更倾向于把API理解为,程序之间的合约。

那么,究竟什么是程序之间的合约呢?

我们可以从现实世界里一个类比例子说起——以家政公司为例。

终于到了周末,本来老婆让你打扫卫生,但你决定要偷个小懒,花点小钱让家政公司派一个阿姨来给你搞定一切。那么在这里,我们说:家政公司是服务的提供商。

对于绝大多数人来讲,在请家政公司的阿姨前,你脑子里肯定已经有了一个预期了。阿姨是来给你打扫卫生的,如果你想让阿姨来家里给你做火锅的话,那就略奇怪了(也许你该找海底捞?)。那么我们可以说,作为一个用户,你理解这个服务包含的内容。

于是,阿姨来到你家里,开始辛苦打扫卫生。打扫的过程中,阿姨会问你:小伙子,你家垃圾桶在哪里呀?作为一个正常人,听到阿姨的要求你自然就会告诉阿姨垃圾桶的位置。那么我们说,作为用户的你,给服务提供商提供了必要的信息。

至此,类比已结束。在上面的例子中,家政公司提供了一个API,这个API的唯一作用就是帮你打扫卫生。而作为用户的你,为了让API完成它的工作,必须提供一些必要的信息,比如垃圾桶的位置。伪代码如下

def do_clean(trash_can): # 打扫卫生的API wipe_window() # 阿姨擦窗 wipe_floor() # 阿姨擦地 ...

但是要注意,在这里你当

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值