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。


相关文章
|
Linux 程序员 C++
Linux系统函数API----基本概念
Linux系统函数API----基本概念
80 0
|
缓存 API 流计算
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
Flink--7、窗口(窗口的概念、分类、API、分配器、窗口函数)、触发器、移除器
|
存储 Web App开发 缓存
BOM的概念和常用API
BOM的概念和常用API
142 0
|
2月前
|
缓存 负载均衡 测试技术
‌API开发的基础概念和作用‌
API(Application Programming Interface)是一组定义了软件组件之间交互规则的接口。它提供了一种标准化的方式,让不同的软件组件之间可以进行通信和交互。
64 2
|
8月前
|
自然语言处理 Java API
Java 8的Stream API和Optional类:概念与实战应用
【5月更文挑战第17天】Java 8引入了许多重要的新特性,其中Stream API和Optional类是最引人注目的两个。这些特性不仅简化了集合操作,还提供了更好的方式来处理可能为空的情况,从而提高了代码的健壮性和可读性。
189 7
|
3月前
|
消息中间件 NoSQL Kafka
大数据-52 Kafka 基础概念和基本架构 核心API介绍 应用场景等
大数据-52 Kafka 基础概念和基本架构 核心API介绍 应用场景等
83 5
|
5月前
|
监控 安全 测试技术
API 管理的概念是什么?Apifox 为什么值得推荐?
在互联世界中,API如同软件间的“翻译官”,让应用能相互交流、共享数据。随着API数量激增,有效管理变得至关重要。API管理确保API的质量、安全与性能,提升开发效率及用户体验。它覆盖API从设计到废弃的全过程。利用如Apifox这样的工具,可以轻松实现API的设计、测试、文档管理和模拟等。Apifox集多种功能于一体,简化工作流程,提高团队协作效率。在选择API管理工具时,Apifox以全面的功能和友好的使用体验脱颖而出,成为开发者们的优选。随着技术发展,未来API管理将更加智能化和高效。
API 管理的概念是什么?Apifox 为什么值得推荐?
|
5月前
|
XML API 数据库
商品详情数据API接口概念(sku详情图属性等全面的解析)
商品详情数据API接口是指一种编程接口(API, Application Programming Interface),它允许开发者或系统以编程方式获取商品的详细信息,包括但不限于SKU(Stock Keeping Unit,库存量单位)的详细信息、商品图片、商品属性、价格、库存状态、用户评价等。这种接口通常由电商平台、商品数据库服务商或第三方数据提供商提供,旨在帮助开发者或企业快速集成商品数据到其应用程序或系统中。
|
5月前
|
JSON 前端开发 API
一文讲清 API 接口的概念、设计和实现
总结 在这个例子中,我们创建了一个简单的Express服务器,并定义了一个/api/auth/login的POST接口来处理登录请求。我们使用body-parser中间件来解析请求体中的JSON数据,并在接口内部进行简单的用户名和密码验证。
|
8月前
|
Java 程序员 API
Java 8 Lambda 表达式和Stream API:概念、优势和实战应用
【5月更文挑战第20天】在Java 8中,Lambda 表达式和Stream API是两个非常强大的特性,它们显著改变了Java程序员处理数据和编写代码的方式。本篇技术文章将深入探讨这些特性的概念、优点,并提供实战示例,帮助理解如何有效地利用这些工具来编写更简洁、更高效的代码。
85 6