游戏天空论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 75|回复: 0

API是什么

[复制链接]

2428

主题

2428

帖子

7668

积分

论坛元老

Rank: 8Rank: 8

积分
7668
发表于 2023-6-12 10:08:43 | 显示全部楼层 |阅读模式
在之前一篇文章中,我们深入地讲了如何设计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完成它的工作,必须提供一些必要的信息,比如垃圾桶的位置。
TG:@cdncloudlisiwen
QQ:2832254781

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|游戏天空论坛 ( 陕ICP备13009885号 )

GMT+8, 2025-8-16 05:42 , Processed in 0.156250 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表