写点什么

超媒体就像跳舞

  • 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:091930
用户头像

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

关注

评论

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

关联洞察·智能决策:知识图谱分析系统赋能产业智慧化升级

上海拔俗

新闻速递丨Altair 全新发布 2026 Altair HPCWorks:实现 HPC、AI 与量子性能的跃升

Altair RapidMiner

AI HPC 仿真 高性能计算 CAE

云栖实录 | 阿里云助力金山办公打造智能搜索新标杆:WPS云文档搜索技术全面升级

阿里云大数据AI技术

elasticsearch 阿里云 wps AI搜索 金山办公

影像洞察·辅诊先行:AI 诊断软件系统临床实践新纪元

上海拔俗

StarRocks 4.0:Real-Time Intelligence on Lakehouse

StarRocks

json 数据湖 存算分离架构 实时分析 RtarRocks 4.0

工业智脑·知识驱动:智能工业知识图谱系统赋能制造业数字化转型

上海拔俗

视觉觉醒·感知革命:人工智能图像处理系统开启机器视觉新纪元

上海拔俗

EasyExcel碰到问题记录

京东科技开发者

智能感知·先知先行:AI 智能巡检系统重塑设备运维新范式

上海拔俗

系统商(ERP、OMS、WMS 等)打通物流 API 数据的重要一环

快递鸟

什么是低代码开发平台?2025年最热门的10大低代码开发平台盘点!

优秀

低代码 低代码开发平台

移动端性能监控探索:可观测 Android 采集探针架构与实现

阿里巴巴云原生

阿里云 阿里云云原生

让数据流动更智能:元数据如何重塑DataOps与ETL

谷云科技RestCloud

元数据 数据同步 DataOps ETL 数据集成

听说无界·对话未来:AI 听说训练系统智能化进阶之路

上海拔俗

递归算法实践--到仓合单助力京东物流提效增收

京东科技开发者

智能决策·流程自驱:业务管理大模型重塑企业数字化运营新范式

上海拔俗

云栖实录:重构可观测 - 打造大模型驱动的云监控 2.0 与 AIOps 新范式

阿里巴巴云原生

阿里云 云原生 云监控 可观测

这款国产智能编码工具,竟然登顶全球TOP3!

苍何

浅谈端侧AI驱动的云加可信协同新范式

inBuilder低代码平台

端侧AI 智能框架 智能办公中枢 跨端智能中枢

ASP.NET Core Blazor 路由配置和导航

码农刚子

ASP.NET Core blazor Blazor入门

心灵灯塔·数字港湾:AI 心理辅导系统重塑心理健康服务新范式

上海拔俗

智能原生·创造无限:AIGC 软件开发平台驱动数字内容生产革命

上海拔俗

捷行在线分享LeSS专场

ShineScrum

产品开发 规模化敏捷 AI赋能

道路养护设计系统

深圳亥时科技

过程控制 软件维护经验总结(1)

万里无云万里天

工业 智能制造 工厂运维

已经被领导连夸7天了,该咋整啊???

斯科信息

斯科信息 AI算法RFID门禁 CK-T4

2025年程序员接单怎么开始?一文讲清楚

不觉心动

程序员

评测有度·成长有迹:AI 标准化考核系统数智化转型实践

上海拔俗

智慧驱动·精益管控:施工管理 AI 智能体系统革新实践

上海拔俗

技术集成、数据驱动,经济波动期间企业财务自救指南

智达方通

企业管理 数字化管理 全面预算管理

springboot项目集成大数据第三方dolphinscheduler调度器 执行/停止任务

刘大猫

人工智能 云计算 算法 物联网 大模型

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