从涂鸦到发布 —— 理解API设计过程.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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总会画上⼏百张

文档评论(0)

0520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档