起初看到这本书的时候其实并没有很在意。后来因为在工作中开始大量写service API,发现这本书其实非常实用。在Google,service对外暴露的接口通常为Protocol Buffer + Stubby/gRPC(开源版本的Stubby) 的形式。Stubby/gRPC虽然不是传统的REST API,但其实在资源导向上并没有本质上的区别,尤其是在API设计的时候需要考虑和权衡类似的问题。这本书在阐述每个设计模式的时候会通过实际案例列举不同方案的优缺点,这也是它让人感到实用的地方。另外,根据我的观察,实际工作中人们容易在各种棘手的问题中进行妥协,导致API不断扩展其职责变得异常臃肿。但实际上,API作为与其他模块沟通的接口,其行为应当是可预测的。作者在这点上也做了很好的说明和规范。总体来说,我认为这是一本比较实用的工具书,而目前网络上未见其有中文翻译。所以本着学习加分享的精神开始翻译该书,希望可以帮到更多的同学。
该翻译项目的Github repo链接如下:
https://github.com/evan-ysj/APIDesignPatternsChinese
有兴趣的同学可以帮助进行修订。翻译版本会同步在CSDN更新,欢迎大家在评论区留言讨论。
最后,希望英文还不错的同学可以阅读原著(github有原版pdf文件),在很多时候会有更准确和深刻的理解。