写点什么

超媒体就像跳舞

  • 2014-08-01
  • 本文字数:819 字

    阅读完需:约 3 分钟

为了充分发挥超媒体驱动系统的优势,客户端必须服从服务端的领导,并由服务端来驱动客户端的状态。 Darrel Miller 写了一篇博文,并拿跳舞来与超媒体API 做了一次类比。俗话说得好,探戈需要两个人来跳(it takes two to tango)。

Darrel 描述了如何能快速地让两个人合作起舞,最常见的方式便是让两个人一起针对同一首特定的曲子学习同一套精心设计好的舞步序列。基本上通过这种方式,可以让他们在互相协同的情况下各自完成好自己的舞步。但是这种方式的缺点也显而易见,他们只懂一首曲子且与同一个搭档合作时的舞步。一旦发生变化,就会出现问题。一旦换了新的曲子或换了新的搭档,他们在舞技上的不足就会显现出来。

同样地,当我们消费某个 HTTP API 的时候,应用就好比是一支精心设计的舞蹈。客户端和服务端都知道流程该如何进行。当客户端发起某个 HTTP 请求的时候,它知道服务端会如何做出响应。Darrel 指出这就是我们这二十年来如何构建分布式应用的方式。我们首先对服务端暴露的 API 进行学习,然后将某种复杂的交互模式灌输给我们的客户端,从而去达到消费 API 的目的。

为了真正理解如何跳舞,Darrel 指出必须在播放任何音乐的情况下都能跳舞,而这一切只需要学习一套基本的舞蹈原语就可以完成。当一对夫妇跳舞的时候,一个领舞而另一个跟随引导也是非常重要的。一个起好选择舞蹈原语序列的领导作用,并使用手势和体位来与他的舞伴交流后续的舞步。这中间没有事先确定且尽心设计的序列动作,唯一的约束就是舞蹈的风格。

相应地,对于某个实现了相同原则的 HTTP API,客户端无须再保持对状态的跟踪,它只需要通过理解接收到的消息并信任服务端所给出的必要引导,从而可以简单地跟随服务端的领导。没有影响到资源的那些新的或变化的业务需求将不会对客户端造成影响。根据 Darrel 的判断,当你的 API 具有很多不同客户端的时候,这将是一个非常关键的优势。

Darrel 还在他的 Github 仓库上发布了一个完整的 WPF 示例。

查看英文原文: Hypermedia is like Dancing

2014-08-01 00:091920
用户头像

发布了 52 篇内容, 共 25.1 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

江苏启东|2023中国·启东第八届“启创杯”创业大赛

科兴未来News

电子信息 新能源 医疗器械 双创比赛 江苏启东

软件测试/测试开发丨接口自动化测试分层设计与实践总结

测试人

软件测试 自动化测试 接口测试 测试开发 接口自动化

全国首届大模型创新创意应用大赛开启,等你来赛!

NLP资深玩家

业务导向且支持开发过程的测试

测吧(北京)科技有限公司

测试

北京 Meetup 邀你来|云上 StarRocks 极速湖仓

StarRocks

数据库 活动 OLAP 大数据分析 StarRocks

中台的下一站:行业数字化操作系统

创智荟

中台 操作系统 数字化

REST API 安全基础知识:保护你的应用程序和用户数据

Apifox

API 企业安全 REST API 安全认证 API 安全

如何使用 Postman 发送 JSON 数据

Liam

json Postman 接口测试 API API 调试

The era of Wallys/wifi7 has arrived-ipq9574+qcn9274.

Cindy-wallys

qcn9274 ipq9574

集简云已支持GPT-4 API接口,将最新AI模型接入到您的业务流程中

集简云开放平台

人工智能 ChatGPT

关于数智融合,看看这20位专家都聊了什么

华为云开发者联盟

云计算 华为云 数智融合 华为云开发者联盟 企业号 4 月 PK 榜

重庆理工大学教授程平:智能会计时代,应充分发挥数据资产的价值

用友BIP

人工智能 数据资产 智能会计 价值财务 事项会计

WeOpsV3.16持续拓展云平台能力,监管华为ManageOne云平台

嘉为蓝鲸

运维 weops

报名开启!成都首个ChatGPT和大模型专题研讨会,期待您的参与!

NLP资深玩家

百度智能云助力达拉特旗入选“数字城市创新成果与实践案例”

百度开发者中心

人工智能 智慧城市 云智一体

OctConv:八度卷积复现

华为云开发者联盟

人工智能 华为云 卷积 华为云开发者联盟 企业号 4 月 PK 榜

mac虚拟机Parallels Desktop 常见问题解答

互联网搬砖工作者

嘉为蓝鲸DevOps平台V5.0,以平台工程提升企业软件研发质效

嘉为蓝鲸

DevOps 研发

曝光老李的聊天记录——关于VMware的秘密

嘉为蓝鲸

运维 虚拟机

持续集成的前提条件

测吧(北京)科技有限公司

测试

达观助手智能写作,让写作更快更好更有趣!

NLP资深玩家

REST 与 SOAP 之间的差异

Apifox

Rest 协议 soap REST API SOAP Webservice

“云智一体”进化史

百度开发者中心

人工智能 云智一体 文心一言

Wallys/The IPQ9554+qcn6274 support the new WiFi 7 standard

Cindy-wallys

ipq9554 qcn6274

超媒体就像跳舞_REST_Jan Stenberg_InfoQ精选文章