提升API可变更性:策略与实践
1. 消除无效工作
提升API改进速度和质量的一种方法是减少不必要的工作投入。若能消除那些对产品目标投资回报率较低的API工作,就能显著提高变更速度。消除无效工作还能减少出错的可能性,使变更过程更可靠。
例如,同一开发团队构建和使用的API,可能不需要像供数百个第三方开发者使用的公共API那样在文档上投入相同的精力。这里有很多因素和变量需要考虑。
2. API变更类型
API产品由接口、实现和实例组成,发布后需要管理这些部分的变更,有时需要一起变更,有时也可独立变更。此外,还引入了支持资产这一API元素,用于提升开发者体验。
2.1 接口模型变更
每个API都有接口模型,它从消费者角度描述API的行为,包括通信协议、消息和词汇等抽象信息。接口模型未被实现,不能被计算机系统直接使用,但可与人共享,可通过白板绘图、模型驱动语言或应用代码等方式表达。
使用标准化建模语言(如OpenAPI规范)描述接口模型,可借助相关工具生态系统降低实现成本。不同的表达方法对模型的详细程度和描述有不同影响,白板绘图自由但受物理尺寸和可实现性限制,API描述语言实现快但语法和词汇受限。
接口模型的变更影响重大,因为生命周期中的大多数环节都依赖或受其影响。最佳的API产品在整个表面上具有一致的接口模型,但这也增加了变更的难度,因为变更需要在整个API产品中同步。
接口模型变更不可避免,可能是为了添加新功能、提高可用性或因业务模式改变而弃用部分接口。变更对API消费者的影响与代码和接口的耦合程度有关,设计松散耦合的API(如事件驱动或超媒体风格的API)可减少影响,但
超级会员免费看
订阅专栏 解锁全文

10万+

被折叠的 条评论
为什么被折叠?



