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
    来源:简书

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

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

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

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

  • 相关阅读:
    以太坊学习笔记
    linux找不到动态链接库
    centos7 firewall指定IP与端口访问
    VMware Fusion 序列号
    mysql pxc无法启动
    vmware workstation许可证密钥
    Gradle上传依赖到私服(nexus)
    Java对象操作工具
    Java获取不到请求的真实IP
    java8+ Lambda表达式基本用法
  • 原文地址:https://www.cnblogs.com/isme-zjh/p/12714719.html
Copyright © 2011-2022 走看看