軟體架構設計:API 設計準則(二)、API Design-First 原則、策略與開發流程
軟體架構設計:API 設計準則(二)、API Design-First 原則、策略與開發流程 圖片來源:https://coolshell.cn/articles/18024.html 前言 本篇文章是上一篇『 軟體架構設計:API 設計準則(一)、API 的設計開發與挑戰 』的接續。前一篇文章中,我們探討了 API 的開發與挑戰,這還沒結束,這篇我們來聊聊什麼是 API Design-First 優先設計?這與傳統的軟體開發有些不同,這與我們已經熟悉的 RESTful API 的以 Resource-Based 為設計的設計概念也有些不同,下面,我們就來探討吧! 為什麼需要 API 設計原則? 在說明為什麼需要 API 設計原則時,我得先回到一開始的主題 API Design-First 優先設計,為什麼需要 API Design-First 呢?因為 API 設計有別於傳統軟體開發,差異等等下方解釋,在設計 API 時講求有效的產出,首先是別企業體的或企業組織為維持市場競爭力與獲利所擁有的能力與模型稱為:【商業能力】,而在開發 API 時將將用戶與開發者視為第一考量,講求的是盡可能讓用戶在不牽涉過多技術細節便可調用這個 API。 在早期,許多企業未遵循 API Design-First 流程開發方法,而使用傳統方式設計 API,會後得到的結果可能就是『多次的砍掉重練及更冗長的開發週期』或最終 API 不為其他客戶所使用,甚至退出市場。 從 RESTful 到 API Design-First 優先設計 圖(一)、傳統 Resource-Based 的 RESTful API 原本我們熟知的 RESTful API 是將數位世界中的圖像、物件、後端的人員,都可稱為資源,這又稱作 Resource-Based API 的設計,因為 RESTful 將網路上的一切都視為資源。 但是在API Design-First 的概念裡面: 1. 資源 ≠ 資料模型 好的 API 設計提供的是該企業的數位能力,而不是後端的資料結構,因為 API 涉及的是跨企業之間的資料交換,這裡的 API 設計並不是傳統 SPA 應用程式裡面的 Front-end Framework 去呼叫的那個後端 API,這是兩個完全不同的開發情境,這必須先說明清楚。 另外優秀的