Re: [问题] api是什么?

楼主: CoNsTaR ((const *))   2017-06-12 18:01:05
看了好几篇,我觉得还是来发一篇好了
你写的程式去掉实作,加上行为描述(标准)就叫做 API
也就是说 API 是不在乎实作的,一个 API 可能有无限种实作
但是实作必须符合标准,所以使用者可以很放心的使用符合某 API 的实作
Library 不只有 API,而且还得有实作才能被称为 Library
Framework 不只有 Library 而且还要限制使用情境才能被称为 Framework
总结一下
Framework、Library 都不是 API
(因为不能有实作)
API 也不是 Framework 或 Library
Framework 是 Library
Library 不是 Framework
作者: s4300026 (s4300026)   2017-06-12 18:44:00
简单,清楚,明了
作者: a0919610611 (炽)   2017-06-12 20:45:00
作者: noodleT (面T)   2017-06-12 22:15:00
API 是C#中的接口吗?
作者: fish830617 (方方)   2017-06-12 22:49:00
限制使用情境指的是什么? 可以举个简单的例子嘛?
作者: AWEN221 (Larry)   2017-06-12 23:20:00
学习了!推高手!
作者: fish830617 (方方)   2017-06-12 23:53:00
所谓的规定是指硬性的嘛? “不是就不行”这样?
作者: bibo9901 (function(){})()   2017-06-13 00:17:00
library 彩色铅笔(+白纸), framework 彩色铅笔+着色本
作者: EdisonX (卡卡兽)   2017-06-13 00:44:00
疑 这样的话 mfc 和 qt 都算 framework?之前我误解的framework是遵守一定的标准工作流程(process)都算,诸如某些code的常数可能必须由实验取得,再经由计算后塞入code里。XD
作者: uranusjr (←這人是超級笨蛋)   2017-06-13 01:22:00
Qt 确实自称 framework, 不过 framework vs library 的de facto 定义其实是“你讲了算”, 根本没有严谨分别所有逻辑上的区分都可以找到一大票反例, 只能算经验法则
作者: fish830617 (方方)   2017-06-13 01:28:00
感谢 CoNsTaR 大大的细心讲解
作者: EdisonX (卡卡兽)   2017-06-13 09:35:00
感谢 CoNsTaR 和 uranusjr!
作者: uranusjr (←這人是超級笨蛋)   2017-06-13 10:14:00
你的定义很清楚, 可是实务上他们根本不是这样自称啊不管嘴上笔下定义多严谨, 实务上就是这么混乱啊照这定义 MFC 怎么看都是 framework, 但它自称 librarySinatra 和 Flask 怎么看都是 library, 但他们就是自称web framework 你又能怎么办
作者: CodingMan (程式侠)   2017-06-13 12:24:00
给个推
作者: Lordaeron (Terry)   2017-06-13 17:25:00
相当好的定义.
作者: doom8199 (~口卡口卡 修~)   2017-06-13 20:32:00
照这定义 OpenCL 算 framework 吗?
作者: coolrobin (泳圈)   2017-06-14 00:59:00
超清楚易懂,强!!
作者: chingyue (ChingYue)   2017-06-14 12:57:00
感恩~!
作者: HolyBugTw (HolyBug)   2017-06-16 16:22:00
不精准但是我是这么看待的API:解决你短期的需求,Framework:针对你长期的需求
作者: jennya (Jennya)   2017-07-03 03:24:00
Flask照这定义是framework没错啊!
作者: greg870601 (酸素水雷)   2017-07-14 13:58:00

Links booklink

Contact Us: admin [ a t ] ucptt.com