API概念

简介: API概念

8.jpeg

API(Application Programming Interface, 应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。


抽象类与普通类相比  约定了子类实现要求  单继承局限


因此,提出了接口


在以后的开发设计原则,接口优先


1. 接口的基本概念


接口是抽象方法和全局常量的集合,在 java 中可以使用 interface 关键字定义


interface IMessage  (在开发中接口名称前面需要加一个 I)


子类需要用 implements 关键字来实现接口,同时一个子类可以实现多个接口,可以利用接口实现多继承的概念。


class Message implements IMessage,INews{}


一个子类实现了多个接口,对于接口的子类不是抽象类,必须覆写接口中的全部方法。


当一个子类继承了多个接口之后,接口对象通过子类进行实例化,那么多个父接口之间是可以互相转换的,但是是通过子类转换的,实例化的时候要注意 new 后面的实例化,不要盯着名称看。


2. 接口的使用限制


接口里面只允许存在 public 权限;


接口中只是抽象方法和全局常量;


在编写的接口时候,开发原则,接口中只提供抽象方法,很少会在接口中看见全局常量,因此接口的方法 public 不会省略,但是 abstract 会省略;


一个子类先使用 extends 继承,再使用 implements 实现接口;


定义抽象类的时候会在抽象类的名称表现出来;


一个抽象类可以使用 implements 实现多个接口,但是接口不能继承抽象类;


一个接口可以使用 inplements 实现多个父接口;


接口可以定义一系列内部结构,包括:内部普通类、内部抽象类、内部接口,使用 static 定义的内部接口相当于外部接口;


3. 使用接口定义标准


使用接口和对象对象多态性的结合,对于参数的统一更加明确。


接口是设计在类之上的设计抽象。


正常的开发先设计接口,再设计类。


4. 接口工厂设计模式(重点)


java 实现可移植性的关键是 JVM,也就是说所有的程序是在 JVM 上执行,而不同的操作系统中有匹配的 JVM,相当于:


程序 --JVM-- 操作系统。


new 是整个开发过程中最大的耦合元凶,在开发之中解耦合的关键,需要引入一个第三方。


总结:主方法没有变化就实现子类的变更,就是工厂模式;


编写的接口,想取得接口的实例化对象,写工厂类。


5. 接口代理设计模式(Proxy)


代理严格来讲就是两个子类共同实现一个接口,一个子类负责真实的业务实现,另一个子类完成辅助业务的主题的操作。


本质:所有真实的业务操作,都会有与之辅助的功能类共同完成。


WeBAPI


   Web Api,网络应用程序接口。它包含了广泛的功能,网络应用通过 API 接口,可以实现存储服务、消息服务、计算服务的能力,利用这些能力可以进行开发出强大功能的 web 应用。简单来说,就是一个接口,比如说,我们要做前后端分离的项目,前端和后端通过 url 连接,但是我们如何知道后端的数据是否通了,返回的数据是否正确,于是我们通过这个接口知道。


为什么使用 web API


  Web API 最重要的是可以构建面向各种客户端的服务。另外与 WCF REST Service 不同在于,Web API 利用 Http 协议的各个方面来表达服务 (例如 URI/request response header/caching/versioning/content format),因此就省掉很多配置。


当你遇到以下这些情况的时候,就可以考虑使用 Web API 了。


需要 Web Service 但是不需要 SOAP

需要在已有的 WCF 服务基础上建立 non-soap-based http 服务

只想发布一些简单的 Http 服务,不想使用相对复杂的 WCF 配置

发布的服务可能会被带宽受限的设备访问

希望使用开源框架,关键时候可以自己调试或者自定义一下框架

Web API 的主要功能:


1. 支持基于 Http verb (GET, POST, PUT, DELETE) 的 CRUD (create, retrieve, update, delete) 操作


   通过不同的 http 动作表达不同的含义,这样就不需要暴露多个 API 来支持这些基本操作。


2. 请求的回复通过 Http Status Code 表达不同含义,并且客户端可以通过 Accept header 来与服务器协商格式,例如你希望服务器返回 JSON 格式还是 XML 格式。


3. 请求的回复格式支持 JSON,XML,并且可以扩展添加其他格式。


4. 原生支持 OData。


5. 支持 Self-host 或者 IIS host。


6. 支持大多数 MVC 功能,例如 Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。


相关文章
|
6月前
|
Linux 程序员 C++
Linux系统函数API----基本概念
Linux系统函数API----基本概念
42 0
|
7月前
|
缓存 API 流计算
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
|
8月前
|
存储 Web App开发 缓存
BOM的概念和常用API
BOM的概念和常用API
|
2天前
|
自然语言处理 Java API
Java 8的Stream API和Optional类:概念与实战应用
【5月更文挑战第17天】Java 8引入了许多重要的新特性,其中Stream API和Optional类是最引人注目的两个。这些特性不仅简化了集合操作,还提供了更好的方式来处理可能为空的情况,从而提高了代码的健壮性和可读性。
24 7
|
9月前
|
存储 API 流计算
Flink DataStream API-概念、模式、作业流程和程序
前几篇介绍了Flink的入门、架构原理、安装等,相信你对Flink已经了解入门。接下来开始介绍Flink DataStream API内容,先介绍DataStream API基本概念和使用,然后介绍核心概念,最后再介绍经典案例和代码实现。本篇内容:Flink DataStream API的概念、模式、作业流程和程序。
Flink DataStream API-概念、模式、作业流程和程序
|
4天前
|
存储 API 数据安全/隐私保护
FreeRTOS入门教程(信号量的概念及API函数使用)
FreeRTOS入门教程(信号量的概念及API函数使用)
145 0
|
4天前
|
SQL Java 关系型数据库
JDBC概念及API详解
JDBC概念及API详解
42 2
|
7月前
|
JavaScript 前端开发 API
通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
通过一个实际例子,理解 SAP UI5 sap.ui.model.odata.v2.ODataModel API 中 BindingContext 绑定上下文的概念和用法试读版
44 0
|
8月前
|
存储 JSON API
OData API 和 Restful API 这两个概念的区别和联系
OData API 和 Restful API 这两个概念的区别和联系
79 0
|
8月前
|
搜索推荐 API 决策智能
电商商品API数据:概念、应用与未来趋势
随着电子商务的飞速发展,电商平台间的竞争愈发激烈。为了提供更优质的服务,许多电商平台选择开放其商品API数据,允许第三方开发者利用这些数据创建各种创新的应用。本文将对电商商品API数据的相关概念、应用场景及未来发展趋势进行深入探讨。

热门文章

最新文章