好的API设计
[非原創(chuàng),原文鏈接]
API設(shè)計書籍下載:
1、keynote.pdf ?
2、api-design.pdf
最近在重構(gòu)公司的一個交互中間件,在重新設(shè)計API及總體架構(gòu)的時候思考了許多, 不禁萌發(fā)了一個疑問,什么樣的API才算是一個設(shè)計良好的API呢?
參考了許多的資料,做一下總結(jié)。主要來自這個keynote
什么是API
我們只要是在進行編程我們就需要不停的設(shè)計API,
API簡單來講可以是一個調(diào)用的函數(shù),一個接口。抽象來說:接口是一個內(nèi)聚系統(tǒng)暴漏給外部的一切信息。 包含但不限于:
- 調(diào)用方式:比如通過lib庫或者http接口等
- 調(diào)用約定:比如lib的函數(shù)簽名或者HTTP的參數(shù),http method或者頭信息,長短鏈接等等。
- 依賴關(guān)系:比如接口的調(diào)用需要涉及到第三方或者其他的準(zhǔn)備工作等等。
設(shè)計良好API的特點
這里探討的API均為系統(tǒng)邊界的API設(shè)計,而對于內(nèi)部API來說不在探討范圍之內(nèi)。
變動困難
API就像一個人一樣,我們和一個API打交道的時候需要了解這個人的特性偏好等, 有的人很好相處,而有的人讓人很頭疼,尤其是你不得不和他打交道的時候。
和人一樣,如果你不得不和他打交道,要改變他的秉性是很痛苦的,人的“本性難移”, API也一樣,一旦發(fā)布了,要改變的成本就很大很大。
好的API應(yīng)該具有:
怎么樣設(shè)計良好的API
基本原則:
其他具體的方法還是參考后面參考資料的內(nèi)容吧。
參考資料
- http://mattgemmell.com/api-design/
- http://lcsd05.cs.tamu.edu/slides/keynote.pdf?
- http://ishare.iask.sina.com.cn/f/61717785.html
- http://qt-project.org/wiki/API-Design-Principles
- http://www4.in.tum.de/~blanchet/api-design.pdf
轉(zhuǎn)載于:https://www.cnblogs.com/gotodsp/p/3628038.html
總結(jié)
- 上一篇: java实现根据pdf文件模板生成pdf
- 下一篇: VS2005调试时变慢解决办法