首页 > 软件开发 > 浅谈Web API设计

快速发布【软件开发】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

浅谈Web API设计

标签:- 2017-11-16 作者:陈默网络


  在开始设计API之前,我们必须了解它的用途。在您手动设计API之前,您应该知道为什么要设计API,如果您需要这个领域的帮助,有很多可用的参考资料。然而,定义你的动机只是第一步,真正的诀窍是在你实现之前一直做正确的设计决定。


  成功的API设计意味着设计一个符合其目的的接口。作为API设计师,我们做出的每一个决定都可以决定产品的成败。一些重大决策是在设计过程中做出的,例如API使用的传输协议,或者它支持的消息格式。但除此之外,还有许多相关的辅助决策,例如接口的控制、名称、关联和顺序。当您将所有决策集中在一起时,它们将驱动API使用模式。如果你能做出正确的决定,这个模型将会得到API的完美支持和提升。


  如果你要做出正确的设计决策,你可能会先做出错误的决定,然后从中吸取教训。事实上,在你做出正确决定之前,你可能会犯很多错误。它也是迭代的关键,因为没有人可以一次成功,但如果你有足够的机会,你可以接近完美。


  很容易说API设计是迭代完成的,但是在实践中很难做到这一点。我们面临的共同挑战之一是,在API发布之后很难改变。事实上,对使用的API进行更改的成本非常高,而且风险很大。或者借用Joshua Bloch的话说:“开放api就像钻石;他们是不可变的。”


  解决这个问题的一种方法是,每次更改时都不要**现有的接口,这是一个好习惯,也是好的API设计的主要原则。但有时**性的改变是不可避免的,而根本性的设计变化尤其具有**性。


  换句话说,我们应该在接口发布之前做出这些更改。在理想的情况下,您应该消除可用性和设计问题,在更改成本变得禁止之前。在当时,只有在第一次发布之前开始迭代并维护频繁的迭代,才能找到并解决问题。


  在每次迭代中,我们都有机会评估设计人员的使用。例如,开发人员可以通过使用我们创建的产品实现他的目标吗?这个接口真的可以实现吗?如果我们让其他人使用这个API,他们会有什么感觉?


  通过设计和实现多个接口而不发布它们,您应该能够实现最好的API设计。通过审查和测试每个接口,我们将对如何改进最终产品有很好的了解。


  但实际上,这种壮观的迭代设计是不可能的。很少有人有足够的时间、金钱和耐心来不断地设计和实现运行的api。对于任何具有一定复杂性的接口,这种迭代设计占用了您太多的时间。


  在设计过程的早期,一个更合理的方法是迭代,这些早期设计应该有足够的细节,可以显示出最好的改进的机会,但是如果没有过多的设计,就会导致实现的困难。随着时间的推移,我们可以逐步提高细节(或逼真度),最终得到一个完整的实现。


最新文章推荐

软件开发暂无最新文章查看全部推荐文章>

推荐人才