写点什么

什么是 API

用户头像
escray
关注
发布于: 2021 年 06 月 16 日
什么是 API

极客时间《朱赟的技术管理课》学习笔记 13

18 每个工程师都应该了解的:API 的设计和实现

2018


API 的签名(Signature)设计是语言无关的,那你在设计中会引入更多的语言还是更少的语言去实现不同的 API 呢,优点和缺点各是什么?


作为一个没有设计和实现过 API 的程序员,只能按照自己的想象来回答这个问题。题目似乎也有一些模糊,不知道这里的引入是指 API 的实现,还是 API 的调用,姑且按照实现来考虑。


既然 API 的签名是与语言无关的,那么在设计中应该只需要引入少量的语言去实现就可以了。一般采用与系统开发一致的语言,应该会更容易调试。


如果按照 RESTful 的风格,对所有的资源建立增删改查的操作,这样的 API  看上去灵活性应该很好。


如何传递一个哈希?难道不是传递一个 JSON 风格的字符串么?


Ruby 的 API 框架是什么?C# 呢?


AOP 是什么意思?看上去似乎是在说把日志、监控等公共的部分独立出来,个人感觉这样的实现比较合理,当然也要考虑复杂度和代价。

2021


其实 API, Application Programming Interface,就是一个接口定义。


is an interface that defines interactions between multiple software applications or mixed hardware-software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc -- wiki


What is an API? The Federal Circuit described an API as a tool that "allow[s] programmers to use ... prewritten code to build certain functions into their own programs, rather than write their own code to perform those functions from scratch." Through an API, a programmer can draw upon a vast library of prewritten code to carry out complex tasks. -- Oracle America, Inc. v. Google, Inc.


这一段引文来自 2020 年谷歌和甲骨文之间的专利官司

发布于: 2021 年 06 月 16 日阅读数: 8
用户头像

escray

关注

Let's Go 2017.11.19 加入

Let's Go,用 100 天的时间从入门到入职

评论

发布
暂无评论
什么是 API