一. 什么是接口
接口是一种用来定义程序的协定,它形容可属于任何类或构造的一组相干行为。
接口是一组规定的汇合,它规定了实现本接口的类或接口必须领有的一组规定。体现了自然界“如果你是……则必须能……”的理念。
接口是在肯定粒度视图上同类事物的形象示意。因为“同类事物”这个概念是绝对的,它因为粒度视图不同而不同。
二. 为什么要应用接口?而不是间接实现呢?
接口的应用并非总是从设计的角度来思考。接口和 python 其余语法景象一样,独特形成了 python 整个语言体系。
接口的意义在于 形象、不拘细节, 从而使同类事物在同一高度具备通用及可替代性。
在系统分析和架构中,分清档次和依赖关系,每个档次不是间接向其下层提供服务(即不是间接实例化在下层中),而是通过定义一组接口,仅向下层裸露其接口性能,下层对于上层仅仅是接口依赖,而不依赖具体类。
- 零碎灵活性加强
当下层须要扭转时,只有接口及接口性能不变,则下层不必做任何批改。甚至能够在不改变下层代码时将上层整个替换掉,就像咱们将一个 WD 的 60G 硬盘换成一个希捷的 160G 的硬盘,计算机其余中央不必做任何改变,而是把原硬盘拔下来、新硬盘插上就行了,因为计算机其余局部不依赖具体硬盘,而只依赖一个 IDE 接口,只有硬盘实现了这个接口,就能够替换下来。 - 不同部件或档次的开发人员能够并行动工
就像造硬盘的不必等造 CPU 的,也不必等造显示器的,只有接口统一,设计正当,齐全能够并行进行开发,从而提高效率。
那么具体什么时候用,什么时候不必呢?在常见的三层架构中,有以下几个档次,别离进行阐明:
- 界面层
也就是展现层,间接出现给用户的,可能不同的软件有不同的出现形式,比方 Web,WinForm, 甚至挪动 APP,在这个档次,我认为是没有必要写太多的接口。 - 业务逻辑层
这个档次,业务逻辑,能够依据须要应用接口。如果是间接读写数据库什么的,就间接用调用数据库拜访层的接口。如果是与多个第三方接口进行交互,那么就须要接口,不同的渠道各自实现。 - 数据拜访层 数据拜访层,最好应用接口,比方数据库拜访,这种能够依据不同的数据库实现相应的接口向业务逻辑层提供服务。
三. 接口申请的类型
http1.0 定义了三种申请办法:get,post,head
http1.1 新增了五种申请办法:options,put,delete,trace,connect
Get:申请指定的页面信息,并返回实体。Get 能够说是最常见的,它实质就是发送一个申请来获取服务器上的某一资源,资源通过一组 http 头和出现数据返回给客户。
Head:相似于 get 申请,只不过返回的响应中没有指定的内容,用于获取报头。
Post:向服务器提交数据。这个办法用处宽泛,简直所有的提交操作都是靠这个实现。
Put:从客户端向服务器传送的数据取代指定的文档的内容。Put 与 post 都是向服务器发送数据,他们之间有一个重要的区别,put 通常指定了资源的寄存地位,而 post 没有,post 的数据寄存地位由服务器本人决定。
Delete:申请服务器删除指定的页面。删除某一个资源
Connect:http1.1 协定中预留给可能将链接改为管道形式的代理服务器。
Options:容许客户端查看服务器的性能。返回服务器针对特定资源所反对的 http 申请办法。
Trace:回显服务器收到的申请,次要用于测试或者诊断。
四. 接口标准和接口文档
接口标准的重要性
无规矩不成方圆,为了 web/app 开发人员与后盾接口开发人员更好的配合,所以咱们须要制订接口标准。接口,是 Web/APP 端与服务器端交互密不可分的环节,接口的规范性会间接影响单方对接过程中的效率和品质。本着疾速高效开发的目的性,防止对接过程中的错误率,接口该当有标准的束缚。
接口文档
后盾接口人员和挪动端开发人员之间的配合必定少不了接口文档这种利器!像中大型项目可能一个接口蕴含的字段就有上百个,如果没有接口文档,仅仅靠两个人口头交换,那预计一天就能搞定几个接口配合。
接口文档有哪几种模式哪?
1 Excel,Word 等文档模式。
2 接口治理开源网站
接口文档和接口测试工具 –apipost
它既能够测试接口也可依据测试的接口生成文档, 有在线文档, 离线文档如:htmlmarkdown 和 word 格局文档, 间接生成不必本人手写.
ApiPost – 可间接生成文档的 API 调试、管理工具