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