CQRS解構: 用讀寫分離設計API

banq發表於2018-09-18
本文討論的是如何使用CQRS實現API設計。

概述
下面是名為Command / Query Responsibility Segregation(CQRS)的設計模式

     返回資料	做出改變
查詢	✔️	        ❌
命令	❌    	✔️
<p class="indent">

查詢和命令是兩種分離的API。

為何使用這種模式?我喜歡它有幾個原因。作為API的消費者,我永遠不必擔心使用API出現異常了;相反,我能確切地知道哪些API呼叫會專門應付對系統的更改請求,沒有含糊之處。這使得API 易於推理。

我曾經嘗試建立一個統一的介面來完成兩者,但是隨著時間推移,出現“服務於兩個主人“”的典型問題,單一介面變得更加混亂。

時間長了會發生:“我們不使用這個欄位,為什麼我們要更新它?。” 回應:“我不知道,但繼續這樣做或會出問題。”

相關文章