- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从涂鸦到发布 —— 理解API 的设计过程
要想设计出可以正常运⾏的Web API ,对基于web 的应⽤的基本理解是⼀个良好的基
础。但如果 的⽬标是创建出优秀的API ,那么仅凭这⼀点还远远不够。设计优秀的
API是⼀个艰难的过程,如果它恰巧是 当前的⼯作任务,那么 很可能会感到⼿⾜
⽆措。
不过,优秀的设计绝对是可以实现的。本⽂所描述的流程将帮助 获得成功,我们将
共同研究什么是优秀的设计,以及迭代式的流程如何帮助我们实现这⼀⽬标。我们还
将叙述设计的三个重要阶段:草图设计、原型设计以及实现,同时还将介绍⼀些能够
让 的⼯作变得更轻松的⼯具。
优秀的API设计来⾃于迭代过程
迭代式的设计过程
草图设计的强⼤作⽤
使⽤档案进⾏草图设计
原型设计
实现
通过⼯具实现过程的⾃动化
使⽤可视化⼯具进⾏草图设计
在迭代过程中取得成功
关于作者
优秀的API设计来⾃于迭代过程
在开始设计API之前,我们必须理解它的⽬的。在 ⼿动设计之前, 应当了解为什
么要设计这个API ,如果在这⽅⾯需要帮助,有许多现成的资料可以参考。不过,定
义 的动机仅仅是第⼀步,真正的诀窍在于直到实现为⽌,始终保持进⾏正确的设计
决策。
成功的API设计意味着要设计出⼀种接⼜,让它的使⽤⽅式符合它的⽬的。作为API设
计者来说,我们所做的每个决策都会影响到产品的成败。设计过程中需要做出⼀些重
⼤的决策,例如API所使⽤的传输协议、或它所⽀持的消息格式。但除此之外,还有
许多相关的次要决定,例如接⼜的控制、名称、关联以及次序。⽽当 将所有的决策
集中在⼀起时,它们将带动API的使⽤模式。如果 能够做到每个决定都是正确的,
那么这种模式将对API产⽣完美的⽀持与促进作⽤。
如果 要做出⼀个正确的设计决策,很可能会先做出⼀个错误的决策,并从中吸取经
验教训。实际上, 很可能会在多次犯错之后才能够接近正确的决策。这也正是迭代
的关键所在,因为没有⼈能够做到⼀次成功,但只要有⾜够的机会, 就能够做到接
近完美。
通过迭代⽅式进⾏API设计,这⼀点说起来容易,但在实际应⽤中做到这⼀点并不简
单。我们所⾯临的⼀个常见的挑战在于,在某个API发布之后再进⾏变更是⾮常困难
的。事实上,对⼀个使⽤中的API进⾏变更的代价很⼤,并且伴随着很⼤的风险。或
者借⽤Joshua Bloch 的说法:“公开的API就像钻⽯,它是永恒不变的。”
处理这⼀问题的⼀种⽅式是在每次变更时不要破坏现有的接⼜,这是⼀种好习惯,也
是优秀API设计的⼀个主要原则。但有些时候,破坏性的变更是不可避免的,⽽基本
层⾯的设计变更尤其具有侵略性。
换种思路,我们应当在接⼜发布之前就做好这些变更。在理想的情况下,在变更的代
价变得⾼昂之前,就应该消除易⽤性与设计⽅⾯的问题。当时,只有在⾸次发布之前
做到尽早开始迭代,并保持频繁的迭代,才能够找到并修复这些问题。
迭代式的设计过程
在每⼀次迭代中,我们都得到了⼀次对设计候选按其使⽤情况进⾏评估的机会。举例
来说,开发者是否能够通过使⽤我们创建的产品实现他的⼯作⽬标?这个接⼜真的能
够实现吗?如果我们要求他⼈使⽤这个API ,他们又会有什么样的感受?
通过设计与实现多个接⼜⽽不发布它们,应该能够实现最佳的API设计。通过对每个
接⼜进⾏审查与测试,我们将对于如何改进最终产品具有良好的洞察⼒。
但是在实践中,这种壮观的迭代式设计是不可能实现的。没有⼏个⼈能有⾜够的时
间、⾦钱或耐⼼去不断地设计与实现⼀个个可以运⾏的API 。对于任何具有⼀定复杂
度的接⼜来说,这种⽅式的迭代式设计会占⽤ 过多的时间。
⼀个更合理的⽅式是在设计过程的早期就进⾏迭代,这些早期的设计应当具有⾜够的
细节,可展现改进的最佳时机,但又⽆需过度设计⽽导致实现的困难。随着时间的推
移,我们可以逐步地增加细节度 (或保真度),并最终得到⼀个完整的实现。
这种逐步推进的设计过程在设计界已经⾮常流⾏了,它通常被分解为三个重要的阶
段:
1. 草图设计
2. 原型设计
3. 实现
草图设计的强⼤作⽤
草图设计是设计⽅⾯的⼀种普遍⾏为。著名建筑师Frank Gehry的草图可谓天下闻名,
以⾄于诞⽣了⼀部专门描述这些草图的电影。他的许多建筑项⽬都是从在⼀叠纸上所
画的⼀系列草图开始的。Gehry总会画上⼏百张
您可能关注的文档
最近下载
- 大学体验英语综合教程4unit5.pptx VIP
- 2026年山西通用航空职业技术学院单招职业技能考试题库完美版.docx VIP
- 清洁生产 教学课件 作者 曲向荣清洁生指标体系第7章.PPT VIP
- 养牛项目环评报告书.pdf VIP
- 2025-2030中国射击场行业市场发展趋势与前景展望战略研究报告.docx
- 2025年山西通用航空职业技术学院单招职业技能考试题库最新.docx VIP
- 在线网课学习课堂《健康管理科研思维训练(杭州师大 )》单元测试考核答案.pdf VIP
- 供应链垫资代采业务流程指导书.pdf VIP
- 临床免疫学检验期末考试试题-临床免疫学检验练习题.docx VIP
- 清洁生产 教学课件 作者 曲向荣生产过程的清洁生产第9章.ppt VIP
原创力文档


文档评论(0)