是什么造就了 API 'rich'?
What makes an API 'rich'?
所以我在进行一次对话,我突然想到 -- 什么是 'rich' API?什么是 'poor' API?这是一个经常被抛出的术语,几乎感觉它可能是营销演讲,我想知道它是否真的具有某种编程意义,比如 'RESTful API'.
首先,这个问题对于 Whosebug 来说可能太宽泛了,而且答案很主观。
我觉得"rich"API没有严格的定义,确实有可能是营销言论。 "rich"API的反义词不是"poor",而是"minimalistic"。
例如,假设您正在构建一个 API 用于逻辑计算。理论上,仅包含一个函数 NAND(a,b) 的 API 足以执行任何可能的逻辑计算。您可以用 NAND 表示所有其他逻辑操作,例如AND(a,b) = NAND(NAND(a,b), NAND(a,b))
,但这会很麻烦,而且效率可能很低。所以,单功能的NANDAPI就足够了,但绝对不丰富。丰富的 API,除了 NAND 之外,还会定义诸如 OR(a,b)、AND(a,b) 和 XOR(a,b) 之类的东西,也许还有一些其他东西。
所以我在进行一次对话,我突然想到 -- 什么是 'rich' API?什么是 'poor' API?这是一个经常被抛出的术语,几乎感觉它可能是营销演讲,我想知道它是否真的具有某种编程意义,比如 'RESTful API'.
首先,这个问题对于 Whosebug 来说可能太宽泛了,而且答案很主观。
我觉得"rich"API没有严格的定义,确实有可能是营销言论。 "rich"API的反义词不是"poor",而是"minimalistic"。
例如,假设您正在构建一个 API 用于逻辑计算。理论上,仅包含一个函数 NAND(a,b) 的 API 足以执行任何可能的逻辑计算。您可以用 NAND 表示所有其他逻辑操作,例如AND(a,b) = NAND(NAND(a,b), NAND(a,b))
,但这会很麻烦,而且效率可能很低。所以,单功能的NANDAPI就足够了,但绝对不丰富。丰富的 API,除了 NAND 之外,还会定义诸如 OR(a,b)、AND(a,b) 和 XOR(a,b) 之类的东西,也许还有一些其他东西。