zoukankan      html  css  js  c++  java
  • 什么是API接口,具体是什么意思?

    说到API,往往是和SDK放在一起的。

    什么叫API,看一下餐厅里怎么点餐的就行了。

    到了饭店,喊一场服务员,点餐。

    服务员拿出来菜单给你看,你点什么,她在小本本上记什么。

    点好了之后,再把菜单送到后厨去。

    这里服务员就是提供服务的(不然也不叫服务员),提供什么服务呢?

    点餐服务。

    点餐服务需要什么呢?

    谈一个服务,通常就是要谈输入是什么,输出又是什么。

    从眼下这个例子来看,输入就是一道道菜品的名字(或者是ID,不知道你们见过菜品上面有编号,服务员只记编号的?),输出的结果就是端过来的一道道菜。

    有了输入和输出,服务员就可以提供了点餐的功能,这就是API,顾客就是调用者,服务员就是服务的提供者。

    你可以在这里把服务员替换成猫猫,假设女王大人猫猫来给你提供服务,只要输出是菜品的名字,输出是菜品,这个API就是能够正常使用的。

    而且,所有的顾客都可以用这种方式来点菜的~~~

    再想想,是不是有的服务员手里拿的是点餐机?想想一个漂亮的小姑娘,拿着一个和手机大小差不多的点餐机,这个点餐机,就是需要和后厨系统有交互,这种交互,就需要一种约束,来声明点菜功能的输入是什么,输出是什么。比如说,如果用户点了一道已经估清的菜,是不是服务员要告诉顾客一下?

    API通常是以Http的形式提供,它隐藏的含义就是,只要你符合我定义的标准,你就可以来使用我。

    比如说,服务员是中国姑娘,顾客是美国人,没关系,只要美国人能说中国话,这套API就可以使用。如果美国人只会说英语,怎么办?让和美国人一起来吃饭的中国朋友翻译成中文,就可以了~~

    那么什么是SDK呢?

    当美国人不会说中文的时候,饭店里的大堂经理来了,他来给美国佬当翻译。这就是SDK,SDK一般都是和语言相关,是官方提供的各种不同语言的实现版本。

    同样的,我们再把思维模式扩大一点。

    除了Http这种API,内部系统集成的组件,是否也是有API?

    你会发现,确实是这样的,比如说,JDK本身提供的各种API,在这里,API和SDK的概念没有那么清楚了,但是API本身的含义就是,当服务的提供方对外提供服务的时候,应该声明输入和输出和功能的明确含义。

    而一组组明确声明了的输入,输出和功能描述,就是服务方提供的各种API。

    比如说数组对外暴露的方法,链表对外暴露的方法等等。

    那么,API和方法之间有没有明显的区别呢?暴露出去的,可被公开使用的方法,统称为API~~~

    以上解释不够严谨,但是对于初学者来说,理解起来应该够了。

    如果你在理解API的时候有困难,大概问题并不是在API上,而是你有没有理解清楚什么叫做封装,什么叫做服务?

    链接:https://www.jianshu.com/p/29569a3a0f41
    来源:简书

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,可以关注我哦!关注我

    如果,想给予我更多的鼓励,这可以支付宝扫码哦!求打

    因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【未来可期】!

  • 相关阅读:
    OSG-提示“error reading file e:1.jpg file not handled”
    OSG-加载地球文件报0x00000005错误,提示error reading file simple.earth file not handled
    QT-找开工程后,最上方提示the code model could not parse an included file, which might lead to incorrect code completion and highlighting, for example.
    我的书《Unity3D动作游戏开发实战》出版了
    java中无符号类型的第三方库jOOU
    Windows批处理备份mysql数据
    使用 DevTools 时,通用Mapper经常会出现 class x.x.A cannot be cast to x.x.A
    Java版本,Java版本MongoDB驱动,驱动与MongoDB数据库,Spring之间的兼容性
    Jrebel本地激活方法
    wget下载指定网站目录下的所有内容
  • 原文地址:https://www.cnblogs.com/isme-zjh/p/12714719.html
Copyright © 2011-2022 走看看